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()
运行以上代码,即可得到一棵漂亮的树形图。你也可以根据自己的需要添加或删除节点,来画出符合自己需求的树形图。