📅  最后修改于: 2023-12-03 14:49:44.498000             🧑  作者: Mango
棒棒糖图表(lollipop chart)是一种有效的数据可视化方式,特别适用于排名和比较数据。
Pandas 是一个开源数据分析库,提供了丰富的数据操作和分析功能,包括数据导入、清洗、筛选、统计等。Matplotlib 是常用的 Python 可视化库,提供了各种图表类型和配置选项,可以灵活地定制图表样式和内容。
在本篇文章中,我们将介绍如何使用 Pandas 和 Matplotlib 创建棒棒糖图表。
在开始之前,确保你已经安装了 Pandas 和 Matplotlib。你可以使用以下命令进行安装:
pip install pandas matplotlib
我们以汽车销售数据为例,假设有 5 家汽车经销商的销售额数据如下:
import pandas as pd
# 创建数据帧
df = pd.DataFrame({
'经销商': ['A', 'B', 'C', 'D', 'E'],
'销售额': [200, 350, 280, 400, 320]
})
print(df)
输出:
经销商 销售额
0 A 200
1 B 350
2 C 280
3 D 400
4 E 320
接下来,我们将使用 Matplotlib 创建棒棒糖图表。
首先,我们需要创建一个基础图表:
import matplotlib.pyplot as plt
plt.hlines(y=df['经销商'], xmin=0, xmax=df['销售额'], color='gray', alpha=0.4)
解释:
plt.hlines
创建水平线图表,其中 y
指定 y 轴数据,xmin
指定 x 轴起始位置,xmax
指定 x 轴结束位置,color
和 alpha
指定线段颜色和透明度。接下来,我们在基础图表上添加圆点:
plt.scatter(df['销售额'], df['经销商'], color='navy', alpha=1)
解释:
plt.scatter
创建散点图表,其中 x
和 y
指定 x 和 y 轴数据,color
和 alpha
指定圆点颜色和透明度。最后,我们可以添加标签和标题:
plt.xlabel('销售额')
plt.ylabel('经销商')
plt.title('汽车经销商销售额排名')
plt.show()
解释:
plt.xlabel
和 plt.ylabel
添加 x 轴和 y 轴标签,plt.title
添加图表标题,plt.show
显示图表。完整代码:
import pandas as pd
import matplotlib.pyplot as plt
# 创建数据帧
df = pd.DataFrame({
'经销商': ['A', 'B', 'C', 'D', 'E'],
'销售额': [200, 350, 280, 400, 320]
})
# 创建基础图表
plt.hlines(y=df['经销商'], xmin=0, xmax=df['销售额'], color='gray', alpha=0.4)
# 添加圆点
plt.scatter(df['销售额'], df['经销商'], color='navy', alpha=1)
# 添加标签和标题
plt.xlabel('销售额')
plt.ylabel('经销商')
plt.title('汽车经销商销售额排名')
# 显示图表
plt.show()
输出:
Pandas 和 Matplotlib 是创建数据可视化的强大工具组合,可以轻松地处理和显示数据。使用 Matplotlib 创建棒棒糖图表,可以帮助我们更好地理解和展示数据。