当前位置: 首页 > 知识库问答 >
问题:

具有特定位置的add_node

齐健柏
2023-03-14

我仍然是networkx的初学者,我想在不同的位置添加多种类型的节点,我使用了以下代码

pos = {0: (40, 20), 1: (20, 30), 2: (40, 30), 3: (30, 10)} 
X=nx.Graph()
nx.draw_networkx_nodes(X,pos,node_size=3000,nodelist=[0,1,2,3],node_color='r')

但是当我想访问Graph X时,如果我键入X.node它会返回一个空列表,如果我想添加更多节点,我必须在开始时使用pos字典设置它们的位置。

如何使用add_node()将节点添加到特定位置x和y的图形中

共有2个答案

全兴运
2023-03-14

我不完全确定您想要完成什么,但我认为您希望将节点添加到图形中,在所需位置绘制它们,并且仍然能够在图形对象中访问它们。

因为您没有将节点添加到图中,所以这将是一个开始:

X.add_nodes_from(pos.keys())

然后,您不必在绘制图形时指定节点列表,因此在添加新节点时不必在两个不同的位置更改代码。

如果希望节点的位置作为节点属性,也可以这样做:

for n, p in pos.iteritems():
    X.nodes[n]['pos'] = p

请注意,这些位置在绘制图形时不会用作位置,必须显式设置。然后,您可以使用以下方式绘制和显示图形:

nx.draw(X, pos)
plt.show()

假设您从 matplotlib 导入 pyplot 作为 plt 执行了导入

韦鸣
2023-03-14

您可以使用下面的方法来设置单个节点的位置,然后提取“pos”字典以便在绘图时使用。

In [1]: import networkx as nx

In [2]: G=nx.Graph()

In [3]: G.add_node(1,pos=(1,1))

In [4]: G.add_node(2,pos=(2,2))

In [5]: G.add_edge(1,2)

In [6]: pos=nx.get_node_attributes(G,'pos')

In [7]: pos
Out[7]: {1: (1, 1), 2: (2, 2)}

In [8]: nx.draw(G,pos)

更新

添加图形

 类似资料:
  • 下面是适当的方法签名的样子: (问题领域是扑克;列举奥马哈扑克牌中所有可能的板卡组合。是的,还有其他方法可以解决这个问题,但我正在测试这个方法,因为处理比特比大多数其他选择要快得多。)

  • 我需要一个帮助来定位一个JPanel在一个特定的位置到一个Jframe。 我在一个扩展JFrame的类中有一个JPanel,我需要将这个JPanel放在一个特定的x,y位置。 是这样的: 我不需要一个LayoutManager的位置的JPanel,因为我需要把JPanel在一个特定的位置(像150,150的例子)。但是如果我panel.set位置(150,150),就像上面的代码一样,什么都不会发

  • 我正纠结于一个原生Android应用程序上的导航抽屉。

  • 以下是具有固定位置的柱形图的示例。 我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 现在让我们看看其他配置,以及我们如何在系列下添加pointPlacement和pointPadding 。 下面给出了具有固定位置的柱形图的示例。 series.pointPadding 每列或条之间的填充,以x轴为单位; 默认为0.1。 series.p

  • 问题内容: 我想要一个组件来保持页面的水平中心(两列),并且我有一个子组件(右列),我希望其位置固定,因此该子组件的位置必须固定,但是整个两列要居中。 问题答案: 您无法使用来做到这一点,但是您可以执行以下操作: 这样,您可以将元素向右移动50%,然后向后移动其宽度的一半。这样,您将获得居中的元素。

  • 我有一个带有和的activity。我正在使用水平显示图像列表。当我单击中的图像时,activity中的将显示该图像的更大图片。到目前为止一切正常。 现在activity中又多了两个:和。当我单击时,中的图像应该向左转,并且中的缩略图应该反映这个变化。的情况也类似。 我可以旋转。但是,如何在中旋转缩略图呢?如何获取的? 代码: activity XML: 我的activity代码: 我得Recycl