要繪制樹形圖和網絡圖,可以使用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()
函數顯示圖形。