2017-01-09 63 views
0

我有matlibplot和networkx。我已经生成图形,我想删除边缘,但我也想在同一个地方有顶点。这是可能的这个python堆栈包含:networx和matlibplot?例如图中使用当前节点放置可以绘制networkx吗?

self.figure.clf() 
    self.axes = self.figure.add_subplot(111) 

    print 'generate random graph' 
    self.G.remove_edge(0,1) 
    self.G.remove_edge(0,2) 
    nx.draw(self.G, node_color='c',edge_color='k', with_labels=True, ax=self.axes) 

    self.canvas.draw() 

这里我想删除的边缘,但nx.draw节点放置后不在同一位置

回答

1

在networkX,功能draw有一个参数pos,它可以采取词典指定每个节点的位置。

这里参考文档:https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.drawing.nx_pylab.draw.html#draw

更进一步,自动生成这样一个字典,networkX提供了布局部分组织的许多方面。

这里指的文档:https://networkx.github.io/documentation/development/reference/drawing.html?highlight=layout#module-networkx.drawing.layout

如果绘制两个图具有相同位置的字典,所有的节点将在相同的位置。