在 colab 中使用 networkx 绘制树
plotting tree with networkx at colab
我有图,表示为节点、边和节点的标签,表示为[节点、边、标签]
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 install libgraphviz-dev
!pip install pygraphviz
import pygraphviz as pgv
这是一个 example notebook。
对我来说,我更喜欢 pyvis
,因为您可以拖动节点。这是一个如何将 pyvis
与 networkx 一起使用的示例:networkx pyvis.ipynb
我有图,表示为节点、边和节点的标签,表示为[节点、边、标签]
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 install libgraphviz-dev
!pip install pygraphviz
import pygraphviz as pgv
这是一个 example notebook。
对我来说,我更喜欢 pyvis
,因为您可以拖动节点。这是一个如何将 pyvis
与 networkx 一起使用的示例:networkx pyvis.ipynb