Plot 在colab上使用networkx绘制树

Plot 在colab上使用networkx绘制树,plot,networkx,google-colaboratory,Plot,Networkx,Google Colaboratory,我有一个图,表示为节点、边和节点的标签,表示为[节点、边、标签] import matplotlib.pyplot as plt import networkx as nx G = nx.DiGraph() G.add_nodes_from(nodes) G.add_edges_from(edges) pos = nx.spring_layout(G) # positions for all nodes nx.draw_networkx_nodes(G, pos, node_size=10

我有一个图,表示为节点、边和节点的标签,表示为[节点、边、标签]

import matplotlib.pyplot as plt
import networkx as nx

G = nx.DiGraph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
pos = nx.spring_layout(G)  # positions for all nodes

nx.draw_networkx_nodes(G, pos, node_size=1000, linewidths=3)
nx.draw_networkx_edges(G, pos)
nx.draw_networkx_labels(G, pos, labels)
plt.show()
当我在colab上运行它时,得到的是这样的混乱:

我需要它是一棵树,根(pos)在顶部,文本是可读的。 另外,我使用的是Colab,所以pygraphviz不是一个选项


谢谢

如果您想在Colab中使用
pygraphviz

!apt安装libgraphviz dev
!pip安装pygraphviz
将pygraphviz作为pgv导入
这是一个例子


对我来说,我更喜欢
pyvis
,因为你可以拖动节点。下面是一个如何在networkx中使用
pyvis
的示例:

如果您想在Colab中使用
pygraphviz

!apt安装libgraphviz dev
!pip安装pygraphviz
将pygraphviz作为pgv导入
这是一个例子

对我来说,我更喜欢
pyvis
,因为你可以拖动节点。以下是如何将
pyvis
与networkx一起使用的示例: