Python通过读取csv绘制家庭开支明细桑基图
时间: 2023-10-09 16:13:53 浏览: 204
Python读取csv文件数据
桑基图是一种可视化图表,用于展示数据集中的多个维度之间的关系。在Python中,可以使用pandas和matplotlib库来读取csv文件并绘制桑基图。
下面是一个简单的示例代码,可以通过读取csv文件并绘制桑基图来展示家庭开支明细:
```python
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.sankey import Sankey
# 读取csv文件
df = pd.read_csv('expenses.csv')
# 创建桑基图对象
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, xticks=[], yticks=[], title="家庭开支明细")
# 创建桑基图
sankey = Sankey(ax=ax, unit='元')
sankey.add(flows=df['金额'], labels=df['项目'])
sankey.finish()
# 显示图表
plt.show()
```
在这个示例代码中,我们首先使用pandas库的read_csv方法读取了一个名为expenses.csv的csv文件,该文件包含了家庭开支明细数据。
接下来,我们创建了一个名为fig的matplotlib图形对象,并使用add_subplot方法创建了一个名为ax的子图对象。然后,我们使用Sankey函数创建了一个名为sankey的桑基图对象,并将其绘制在ax子图对象上。在创建桑基图时,我们使用了df['金额']和df['项目']两个数据列作为桑基图的流量和标签。
最后,我们使用show方法显示了这个家庭开支明细桑基图。
阅读全文