一篇保姆级教程Matplotilb绘制堆叠状以及用法


903665c7dd88d4cebe3a0ff1aa032499.gif

作者:郭震

在继续我们的绘图旅程中,今天我们将讨论 Matplotlib 中堆叠柱状图的绘制。在上篇文章中,我们了解到如何绘制基本的柱状图,而现在,我们要进一步探讨如何将多个数据系列堆叠在同一根柱子上,以便更好地比较不同类别的数据。

堆叠柱状图的概念

堆叠柱状图 是用于显示不同数据系列在每个分类上的总量及其组成部分的一种图形表示方式。不同的颜色代表不同的数据系列,堆叠在同一柱子上,可以直观地显示各个类别间的关系。

创建堆叠柱状图

为了创建堆叠柱状图,我们依然使用 matplotlib.pyplot 中的 bar 函数,但会对每一个数据系列进行单独处理,确保它们能够堆叠在一起。

示例案例

假设我们要展示某公司在过去四年中各个季度的销售额,具体如下:

  • 产品A:2019年销售额分别为 [5000, 7000, 8000, 6000]

  • 产品B:2019年销售额分别为 [3000, 4000, 5000, 3000]

接下来我们将绘制这两个产品在四个季度的堆叠柱状图。

示例代码

下面是代码实例:

import matplotlib.pyplot as plt
import numpy as np

# 定义数据
quarters = ['Q1', 'Q2', 'Q3', 'Q4']
sales_A = [5000, 7000, 8000, 6000]
sales_B = [3000, 4000, 5000, 3000]

# 计算每个季度的位置
x = np.arange(len(quarters))

# 创建柱状图
plt.bar(x, sales_A, label='产品A', color='blue')  # 绘制产品A的柱状图
plt.bar(x, sales_B, bottom=sales_A, label='产品B', color='orange')  # 将产品B堆叠在产品A上

# 添加标签和标题
plt.xlabel('季度')
plt.ylabel('销售额')
plt.title('2019年各季度产品销售额比较')
plt.xticks(x, quarters)  # 设置x轴刻度
plt.legend()  # 显示图例

# 展示图形
plt.show()

代码解析

  1. 首先,我们导入必要的库 matplotlib.pyplotnumpy

  2. 我们定义了每个季度的标签和两个产品的销售额数据。

  3. 使用 np.arange 函数来生成每个季度在 x 轴上的位置。

  4. 我们调用 plt.bar 绘制产品A的柱状图,设置其颜色为蓝色。

  5. 随后,再次调用 plt.bar 绘制产品B的柱状图,重要的是,设置 bottom=sales_A,这样就能够在产品A的柱子上方堆叠产品B的柱子,实现堆叠效果。

  6. 最后,添加标签、标题及图例,调用 plt.show() 展示最终的图形。

堆叠柱状图的优缺点

优点:

  • 清晰展现多个数据系列的总量和组成;

  • 适用于对比多个分类的组合数据。

缺点:

  • 如果堆叠的部分较多,阅读和理解较难;

  • 柱子的高度可能会遮住下方的数据。

总结

今天我们学习了如何在 Matplotlib 中绘制一个堆叠柱状图,使得多个数据系列能够直观地呈现在同一个图形中。接下来,在我们的系列教程中,我们将更进一步,探讨绘制饼图的基本用法。希望大家继续关注我们的教程,掌握更多绘图技巧!

感谢你的支持,原创不易,希望转发,点击,以及收藏,也可以点击阅读原文更多AI知识分享,同时也可以关注知识星球:郭震AI学习星球

最后,若想利用副业时间提高技能和收入,可以加入我的星球:3b9f2ecf979512b051d2e6196a9e8f9f.png

长按上图二维码查看「郭震AI学习星球」

  • 更多、数据分析、爬虫、前后端开发、人工智能等教程参考.

  • 以上全文,欢迎继续点击阅读原文学习,阅读更多AI资讯,[请点击这里] https://zglg.work/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值