小编Abd*_*ehy的帖子

使用nx.draw_graphviz在python中使用graphviz布局绘制图形会出错

我试图在python的networkx中以graphviz布局绘制一个100节点的多图G,所以到目前为止我进行了两次试验:

试验1 nx.draw_graphviz函数如下,nx.draw_graphviz(G)但是我对图中的所有节点重复了以下错误:

错误:节点1,位置[0.127506302389087,0.3262608552621944],预计两个双打

然后试图找到一个解决方案,我使用试验2 A=nx.to_agraph(G)得到一个pygraphviz图,但当我尝试绘制时,nx.draw_graphviz(A)我得到以下错误:

AttributeError:'AGraph'对象没有属性'number_of_selfloops'

nx.graphviz_layout但它返回了一个由节点键入的位置字典,我不知道如何用它来绘制graphviz布局.

注意我导入了graphviz,pygraphviz和pydot模块,但我不知道哪些是真正需要的,但它仍然不起作用.

是否缺少在graphviz布局中绘制networkx图形的东西?

完整跟踪错误

试验1

Traceback (most recent call last):
  File "main.py", line 102, in <module>
    d.display_graph(sub_normal,NEUTRAL_RANGE)
  File "/home/abdallah/stage/Reputation_system/display.py", line 33, in display_graph
    nx.draw_graphviz(G)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pylab.py", line 982, in draw_graphviz
    pos = nx.drawing.graphviz_layout(G, prog)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 257, in graphviz_layout
    return pydot_layout(G=G,prog=prog,root=root,**kwds)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 277, in pydot_layout
    D=P.create_dot(prog=prog)
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1802, in <lambda>
    lambda f=frmt, prog=self.prog : self.create(format=f, prog=prog))
  File …
Run Code Online (Sandbox Code Playgroud)

python graphviz networkx pygraphviz pydot

5
推荐指数
1
解决办法
1676
查看次数

使用grid_2d_graph在networkx中绘制MxM节点的方格时,删除旋转效果

我需要生成一个有100x100节点的常规图形(也称为网格网络).我开始使用10x10以下代码绘制图形:

import numpy
from numpy import *
import networkx as nx
from networkx import *
import matplotlib.pyplot as plt

G=nx.grid_2d_graph(10,10)        
nx.draw(G)

plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但我得到的是这个:

在此输入图像描述

有没有办法摆脱输出的这种旋转效应?我的最终网络看起来像棋盘,就像这样(请忽略标签):

在此输入图像描述

此外,我需要为每个节点提供其ID,范围从0到9999(在100x100网络的情况下).任何想法将不胜感激!

python grid rotation networkx mathematical-lattices

5
推荐指数
1
解决办法
1820
查看次数

python networkx - 通过为图形绘制着色来标记边缘

我正在使用 networkx 来研究图论实现,我想知道有没有办法标记给定图中的某些边?例如 - 假设我有一个图形 G 并且我找到了从节点 x 到节点 y 的最短路径,我如何标记路径以便在绘制图形时它将以不同的颜色绘制?

python graph networkx

3
推荐指数
1
解决办法
1681
查看次数