温馨提示×

Matplotlib怎么绘制树形图和网络图

小亿
107
2024-05-21 14:29:38
栏目: 编程语言

要绘制树形图和网络图,可以使用Matplotlib库的子库networkx来实现。以下是一个简单的示例:

import matplotlib.pyplot as plt
import networkx as nx

# 创建一个有向图
G = nx.DiGraph()

# 添加节点
G.add_node("A")
G.add_node("B")
G.add_node("C")
G.add_node("D")

# 添加边
G.add_edge("A", "B")
G.add_edge("A", "C")
G.add_edge("B", "D")
G.add_edge("C", "D")

# 绘制树形图
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_size=2000, node_color='lightblue', font_size=10, font_weight='bold', edge_color='gray')
plt.show()

# 绘制网络图
G = nx.Graph()
G.add_edge("A", "B")
G.add_edge("A", "C")
G.add_edge("B", "D")
G.add_edge("C", "D")

pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_size=2000, node_color='lightblue', font_size=10, font_weight='bold', edge_color='gray')
plt.show()

在这个例子中,我们首先创建了一个有向图,然后添加节点和边。接下来我们使用nx.spring_layout()函数来定义节点的位置,并使用nx.draw()函数来绘制树形图和网络图。最后调用plt.show()函数显示图形。

0