溫馨提示×

Matplotlib怎么繪制樹形圖和網(wǎng)絡(luò)圖

小億
105
2024-05-21 14:29:38
欄目: 編程語言

要繪制樹形圖和網(wǎng)絡(luò)圖,可以使用Matplotlib庫的子庫networkx來實(shí)現(xiàn)。以下是一個(gè)簡單的示例:

import matplotlib.pyplot as plt
import networkx as nx

# 創(chuàng)建一個(gè)有向圖
G = nx.DiGraph()

# 添加節(jié)點(diǎn)
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()

# 繪制網(wǎng)絡(luò)圖
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()

在這個(gè)例子中,我們首先創(chuàng)建了一個(gè)有向圖,然后添加節(jié)點(diǎn)和邊。接下來我們使用nx.spring_layout()函數(shù)來定義節(jié)點(diǎn)的位置,并使用nx.draw()函數(shù)來繪制樹形圖和網(wǎng)絡(luò)圖。最后調(diào)用plt.show()函數(shù)顯示圖形。

0