使用Matplotlib在饼图中绘制Pandas数据框
在数据分析和可视化中,Pandas是一个广泛使用的Python库,而Matplotlib则是常用的绘图工具。在这篇文章中,我们将学习如何使用 Matplotlib 在饼图中绘制 Pandas 数据框。
首先,让我们导入必要的库。
import matplotlib.pyplot as plt
import pandas as pd
我们首先创建一个简单的 Pandas 数据框,展示商品销售额。
data = {'商品':['商品1', '商品2', '商品3', '商品4', '商品5'],
'销售额':[20000, 30000, 45000, 12000, 7000]}
df = pd.DataFrame(data)
df
输出:
商品 | 销售额 | |
---|---|---|
0 | 商品1 | 20000 |
1 | 商品2 | 30000 |
2 | 商品3 | 45000 |
3 | 商品4 | 12000 |
4 | 商品5 | 7000 |
接下来,我们将使用 Matplotlib 创建饼图。先绘制一个简单的饼图以显示各商品销售额占比。
plt.pie(df['销售额'], labels=df['商品'], autopct='%1.1f%%')
plt.show()
在这段代码中,我们首先使用 plt.pie()
方法创建一个饼图。第一个参数是销售额列表,第二个参数是商品名称列表。autopct
参数用于设置百分比格式,这里使用 '%1.1f%%'
表示保留一位小数的百分数。
这个饼图显示了每种商品销售额的占比。
下一步,我们将改进饼图的可视化效果。我们可以使用 explode
参数来突出某些商品,可以使用 colors
参数来设置颜色。
explode = (0, 0.1, 0.1, 0, 0)
colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99', '#ff6666']
plt.pie(df['销售额'],
colors=colors,
labels=df['商品'],
autopct='%1.1f%%',
startangle=90,
explode=explode,
)
plt.title('商品销售额占比')
plt.axis('equal')
plt.show()
在这段代码中,explode
是一个包含数值的元组,每个元素都对应一个商品。这里突出显示了第二个和第三个商品。
同样地,colors
是一个颜色列表,每个元素对应一个商品。这里使用不同的颜色区分不同商品。
最后,我们添加了标题、设置了起始角度为90度、设置了 axis('equal')
来确保饼图是圆形的。
我们可以清楚地看到,一些商品比其他商品更畅销。
结论
在这篇文章中,我们学习了如何使用 Matplotlib 在饼图中绘制 Pandas 数据框。我们首先创建了一个 Pandas 数据框来展示商品销售额。然后,我们使用 Matplotlib 的 pie()
方法来创建饼图,使用 explode
参数突出某些商品,使用 colors
参数设置颜色。最后,我们改进了饼图的可视化效果,添加了标题、设置了起始角度为90度、设置了axis('equal')
来确保饼图是圆形的。
通过这篇文章,我们可以清晰地了解每种商品销售额的占比,并且可以更加直观地展示数据。