Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在networkx图形绘制中显示循环_Python_Graph_Matplotlib_Networkx - Fatal编程技术网

Python 如何在networkx图形绘制中显示循环

Python 如何在networkx图形绘制中显示循环,python,graph,matplotlib,networkx,Python,Graph,Matplotlib,Networkx,我使用NetworkX构建了一个简单的图,如下所示: import networkx as nx import matplotlib.pyplot as plt G = nx.DiGraph() G.add_edges_from([(0,1), (0,2), (1,1), (1,2)]) nx.draw_networkx(G) plt.show() 当我画这个图时,我得到了这个图像: 该图形也有一条边(1,1),但它没有在图像上显示该边。我怎样才能画出这条边呢?我认为这是不使用箭头的结果

我使用NetworkX构建了一个简单的图,如下所示:

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_edges_from([(0,1), (0,2), (1,1), (1,2)])
nx.draw_networkx(G)
plt.show() 
当我画这个图时,我得到了这个图像:


该图形也有一条边(1,1),但它没有在图像上显示该边。我怎样才能画出这条边呢?我认为这是不使用箭头的结果。这种形象真的很糟糕。如何使用箭头而不是粗体线条?

Graphviz在绘制箭头和自循环方面做得很好。(在Matplotlib中实现非常重要)。 以下是一个例子:

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_edges_from(\[(0,1), (0,2), (1,1), (1,2)\])
nx.write_dot(G,'graph.dot')

# then run dot -Tpng graph.dot > graph.png

谢谢你的回答。这就是我一直在寻找的。我得到了提示:('requires pygraphviz','','(不适用于Python3')那么这将是一项未来的功能吗?使用networkx.write_dot()您还需要pygraphviz或pydot。我得到的
AttributeError:“module”对象在networkx 1.11版中没有属性“write_dot”
,我已经安装了pygraphviz和pydot。这是哪个版本?使用networkx.drawing.nx的
图形导入写入\u dot