要绘制树形图和网络图,可以使用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()
函数显示图形。