Python語言憑借其強大的數據分析和科學計算能力,受到越來越多人的青睞。今天,我們來介紹如何用Python畫出漂亮的樹形圖。
# 導入必要的庫 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_edge('A', 'B') G.add_edge('A', 'C') # 添加第三層節點 G.add_node('D') G.add_node('E') G.add_node('F') G.add_edge('B', 'D') G.add_edge('C', 'E') G.add_edge('C', 'F') # 添加第四層節點 G.add_node('G') G.add_node('H') G.add_edge('D', 'G') G.add_edge('D', 'H') # 繪制樹形圖 pos = nx.bipartite_layout(G, ['A', 'B', 'C']) nx.draw_networkx_nodes(G, pos, node_size=2000, nodelist=['A'], node_color='g') nx.draw_networkx_nodes(G, pos, node_size=1000, nodelist=['B', 'C'], node_color='y') nx.draw_networkx_nodes(G, pos, node_size=500, nodelist=['D', 'E', 'F'], node_color='r') nx.draw_networkx_nodes(G, pos, node_size=250, nodelist=['G', 'H'], node_color='b') nx.draw_networkx_edges(G, pos, arrows=True) nx.draw_networkx_labels(G, pos, font_size=24, font_family='sans-serif') plt.axis('off') plt.show()
運行以上代碼,即可得到一棵漂亮的樹形圖。你也可以根據自己的需要添加或刪除節點,來畫出符合自己需求的樹形圖。