如何在 Python 中绘制显示不同类型商店类型的总销售额的条形图?
Posted
技术标签:
【中文标题】如何在 Python 中绘制显示不同类型商店类型的总销售额的条形图?【英文标题】:How can I plot a bar chart showing total sales for different types of store types in Python? 【发布时间】:2019-01-12 12:12:13 【问题描述】:我有一个数据集(不是下面的,而是类似的),我试图用 Python 绘制一个条形图,以便我可以可视化由不同类型的“出口类型”制成的“总销售额” .
╔══════════╦════════════════════╦═══════╗
║ Location ║ Outlet_Type ║ Sales ║
╠══════════╬════════════════════╬═══════╣
║ Bandra ║ Supermarket Type 1 ║ 125 ║
║ Worli ║ Supermarket Type 2 ║ 150 ║
║ Wadala ║ Supermarket Type 3 ║ 100 ║
║ Chembur ║ Supermarket Type 2 ║ 100 ║
║ Kalina ║ Supermarket Type 3 ║ 110 ║
║ Dadar ║ Supermarket Type 3 ║ 115 ║
║ Korba ║ Supermarket Type 2 ║ 135 ║
║ Asavari ║ Supermarket Type 1 ║ 145 ║
╚══════════╩════════════════════╩═══════╝
所以从上面的数据来看,我的条形图应该有,
X 轴:“超市类型 1”、“超市类型 2”和“超市类型 3” Y 轴:不同类型网点的总销售额
所以
的吧'Supermarket Type 1' 的值为 270 'Supermarket Type 2' 的值为 385 'Supermarket Type 3' 的值为 325
在 SQL 术语中,它类似于执行“分组依据”,但在 Python 中我无法这样做,而是暂时使用数据透视表。
data.pivot_table(values = 'Sales', index = 'Outlet_Type')
【问题讨论】:
【参考方案1】:按插座类型进行汇总和绘图:
import matplotlib.pyplot as plt
data.groupby('Outlet_Type').sum()['Sales'].plot.bar()
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()
有关如何增强图表的信息,请参阅 matplotlib
文档。
【讨论】:
嗨@DYZ 感谢您的帮助。我在我的数据集上尝试了它并且它有效。自昨天以来,确实搜索了很多文档和示例,但没有运气。虽然现在看来我看错了地方。【参考方案2】:你真的很接近。在您当前的方法中只是缺少aggfunc
,所以pivot_table
不求和:
import matplotlib.pyplot as plt
data.pivot_table(values = 'Sales', index = 'Outlet_Type', aggfunc='sum').plot(kind='bar')
plt.tight_layout()
plt.show()
【讨论】:
嗨@user3483203(克里斯),非常感谢您的帮助,它成功了。 Y 轴上的结果以指数形式出现,因此这个比例最初让我有点困惑,天哪!我不知道我们实际上可以使用“绘图”功能直接从数据透视表中绘制结果。周末愉快! :)以上是关于如何在 Python 中绘制显示不同类型商店类型的总销售额的条形图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flux / ReactJS 中处理多个相同类型的商店?