python桑基图代码示例
时间: 2023-10-13 19:27:18 浏览: 44
以下是一个基本的Python桑基图代码示例:
```
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.DataFrame({'group': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
'value': [12, 30, 25, 15, 10, 5, 10, 8]})
# 计算每个组的颜色
colors = plt.cm.tab20c(np.linspace(0, 1, len(df.index)))
# 绘制桑基图
fig = plt.figure(figsize=(12, 8), dpi=80)
ax = fig.add_subplot(111, facecolor='#dddddd', axisbelow=True)
ax.spines['bottom'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.set_xlim(-0.5, 1.5)
ax.set_ylim(0, 80)
y_upper = 0
for i, (idx, row) in enumerate(df.iterrows()):
y_lower = y_upper
y_upper += row['value']
ax.bar(0, y_upper-y_lower, bottom=y_lower, color=colors[i], edgecolor='white')
ax.text(1.5, (y_lower + y_upper) / 2, row['group'], va='center', ha='left')
plt.show()
```
请注意,这只是一个基本示例,您可以根据您的数据和需求进行修改和定制。