📜  python 树图示例 - Python (1)

📅  最后修改于: 2023-12-03 15:34:12.671000             🧑  作者: Mango

Python 树图示例

本文介绍了 Python 中如何使用第三方库 networkxmatplotlib 绘制树图,并结合实例进行可视化。

安装库

需要先安装 networkxmatplotlib 库:

!pip install networkx
!pip install matplotlib
创建树图

以下示例将按照如下树图绘制:

    1
   / \
  2   3
 / \   \
4   5   6
import networkx as nx
import matplotlib.pyplot as plt

# 创建树图
G = nx.DiGraph()

# 添加节点
for i in range(1, 7):
    G.add_node(i)

# 添加边
G.add_edge(1, 2)
G.add_edge(1, 3)
G.add_edge(2, 4)
G.add_edge(2, 5)
G.add_edge(3, 6)

# 绘制树图
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_edges(G, pos)
nx.draw_networkx_labels(G, pos)

plt.show()

运行后,将得到以下树图:

树图示例

定制树图

可以通过修改节点形状、大小和颜色等方式来定制树图。以下示例将节点形状调整为圆形,大小为 100,颜色设置为紫色:

import networkx as nx
import matplotlib.pyplot as plt

# 创建树图
G = nx.DiGraph()

# 添加节点
for i in range(1, 7):
    G.add_node(i)

# 添加边
G.add_edge(1, 2)
G.add_edge(1, 3)
G.add_edge(2, 4)
G.add_edge(2, 5)
G.add_edge(3, 6)

# 绘制树图
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos, node_shape="o", node_size=100, node_color="purple")
nx.draw_networkx_edges(G, pos)
nx.draw_networkx_labels(G, pos)

plt.show()

运行后,将得到以下树图:

定制树图示例

结论

本文介绍了使用第三方库 networkxmatplotlib 绘制树图,包括常规绘制和定制样式。可以通过修改节点样式、大小和颜色等方式实现更加灵活的树图可视化效果。