如何用IPython表示图

如何用IPython表示图,python,graph,ipython,networkx,Python,Graph,Ipython,Networkx,最近我发现了IPython笔记本,这是一个强大的工具。作为一名IT专业的学生,我一直在寻找用Python表示图形的方法。例如,我想知道是否有一个库(如numpy或matplotlib?)可以从中提取 { "1" : ["3", "2"], "2" : ["4"], "3" : ["6"], "4" : ["6"], "5" : ["7", "8"], "6" : [], "7" : [], "8" : [] } 大概是这样的: 有类似的东西吗?您可以使用,如果需要

最近我发现了
IPython笔记本
,这是一个强大的工具。作为一名IT专业的学生,我一直在寻找用Python表示图形的方法。例如,我想知道是否有一个库(如
numpy
matplotlib
?)可以从中提取

{ "1" : ["3", "2"],
  "2" : ["4"],
  "3" : ["6"],
  "4" : ["6"],
  "5" : ["7", "8"],
  "6" : [],
  "7" : [],
  "8" : []
}
大概是这样的:

有类似的东西吗?

您可以使用,如果需要在ipython笔记本中渲染图形

您可以使用:

然后在降价块中:

![graph](graph.png)
这使得:


如果您还想制作图形动画(例如,探索算法如何工作),您可以使用已经有
networkx
nxpd
,但是
networkx
本身可以通过
matplotlib
直接绘图(因此您不需要
nxpd
):

将networkx导入为nx
%matplotlib内联
g=nx.DiGraph()
g、 添加节点(范围(1,9))
g、 添加来自([(1,2)、(1,3)、(2,4)、(3,6)、(4,5)、(4,6)、(5,7)、(5,8)]的边
nx.绘制平面图(g,带标签=真)


有关更多布局算法,请参阅。

重复?我在测试:谢谢,这就是我想要的。我有一个关于有值图的小问题。我应该手动打印估价还是有参数?我查找了它,但在库中没有找到
nxpd
nxpd
可以与
pip安装nxpd
一起安装。我尝试了另一个答案,但似乎pip选择了两个软件包的不兼容版本。这个答案使我没有弄明白
import pygraphviz

G = pygraphviz.AGraph(directed=True)
G.add_nodes_from(range(1,9))
G.add_edges_from([(1,2),(1,3),(2,4),(3,6),(4,5),(4,6),(5,7),(5,8)])
G.layout()
G.draw('graph.png')
![graph](graph.png)