如何使用网络 x 在图的不同位置迭代添加节点

问题描述 投票:0回答:1

最初我在位置 (0, 0) 处有一个节点。现在,在节点大小为 1 和 2 的下一次迭代中,我希望节点 2 位置位于 (1, 0) 并在它们之间添加边,然后在它们之间添加边。因此,在第二次迭代之后,我将得到一个边 (0, 0)、(1, 0) 的图。现在我想在添加节点、添加节点和添加边的下一次迭代中使用此数据,这样我将获得边图 (0, 0)、(1, 0)、(2, 0)。任何人都可以提供使用网络 x 的示例代码。我是 python 和网络 x 的新手!

我尝试过使用 for 循环,但我没有将其用作下一次迭代的初始点

python networking networkx
1个回答
0
投票

尝试此代码是否有助于解决您所要求的问题

import networkx as nx
import matplotlib.pyplot as plt

# Create an empty graph
G = nx.Graph()

# Initial node position
pos = {(0, 0): (0, 0)}

# Add initial node
G.add_node((0, 0))

# Iterate over each iteration
for i in range(1, 3):  # Change the range to specify the number of iterations
    # Add new node and edge from previous node
    new_node = (i, 0)
    G.add_node(new_node)
    G.add_edge((i-1, 0), new_node)
    # Update node position
    pos[new_node] = (i, 0)

# Draw the graph
nx.draw(G, pos=pos, with_labels=True, node_size=500, node_color='skyblue', 
font_size=10)
plt.title('Graph after 2 iterations')
plt.show()

希望这能回答您的问题。如果还有其他问题请发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.