如何在 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 中绘制显示不同类型商店类型的总销售额的条形图?的主要内容,如果未能解决你的问题,请参考以下文章

python+matplotlib+绘制不同图标类型

如何在 Flux / ReactJS 中处理多个相同类型的商店?

python matplotlib一张图中绘制不同类型叠加图

ExtJS:: 如何过滤网格中的行,但不在存储中

如何使用visio2013如何绘制UML图

Wordpress ACF 显示关系问题