matplotlib创建堆积柱状图比较简单,通过pyplot.bar()函数中bottom参数可以便捷实现。

两组数据

两组数据的堆积柱状图非常简单,直接使用bottom参数即可。

import matplotlib.pyplot as pltlabels = ['G1', 'G2', 'G3', 'G4', 'G5']
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
width = 0.35
plt.bar(labels, men_means, width)
# 关键在bottom参数
plt.bar(labels, women_means, width, bottom=men_means)
plt.title('Stacked bar')
plt.show()

两组以上数据

三组数据以上需要计算每组柱子bottom参数值。使用numpy计算可能稍微简单点。由于例子比较简单,就不再使用numpy计算。

import matplotlib.pyplot as pltlabels = ['G1', 'G2', 'G3', 'G4', 'G5']
first = [20, 34, 30, 35, 27]
second = [25, 32, 34, 20, 25]
third = [21, 31, 37, 21, 28]
fourth = [26, 31, 35, 27, 21]
data = [first, second, third, fourth]x = range(len(labels))
width = 0.35
# 将bottom_y元素都初始化为0
bottom_y = [0] * len(labels)
for y in data:plt.bar(x, y, width, bottom=bottom_y)# 累加数据计算新的bottom_ybottom_y = [a+b for a, b in zip(y, bottom_y)]
plt.xticks(x, labels)
plt.title('Stacked bar')
plt.show()

matplotlib之pyplot模块之柱状图(bar():堆积柱状图)相关推荐

  1. 使用python的matplotlib(pyplot)画折线图和柱状图

    使用python的matplotlib(pyplot)画折线图和柱状图 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的 ...

  2. matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))

    在matplotlib中pie()不单可以绘制饼图,还可以绘制圆环图(donut).圆环图可以看成饼图的变种,matplotlib没有提供专门绘制圆环图的接口. 在matplotlib之pyplot模 ...

  3. matplotlib之pyplot模块plot函数基础二(线条外观:格式字符串fmt)

    matplotlib之pyplot模块plot函数基础一(函数功能.xy参数基本取值,多组数据)简单说明了plot函数绘制线条的基本功能. plot函数的基本调用签名为plot([x], y, [fm ...

  4. pyplot绘制图片_使用matplotlib的pyplot模块绘图的实现示例

    1. 绘制简单图形 使用 matplotlib 的pyplot模块绘制图形.看一个 绘制sin函数曲线的例子. import matplotlib.pyplot as plt import numpy ...

  5. matplotlib之pyplot模块之柱状图(bar():百分比堆积柱状图)

    使用matplotlib创建百分比堆积柱状图的思路与堆积柱状图类似,只不过bottom参数累计的不是数值而是百分比,因此,需要事先计算每组柱子的数值总和,进而求百分比. 未使用numpy版本 适用于少 ...

  6. matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())

    当前有效matplotlib版本为:3.4.1. 概述 pyplot模块提供了获取/设置对象属性值的接口.功能类似于Python内置函数getattr和setattr.从源码上来看,get()是get ...

  7. matplotlib之pyplot模块坐标轴标签设置(xlabel()、ylabel())

    在pyplot模块中可以使用xlabel()和ylabel()函数设置x轴y轴的标签.这两个函数的使用方法非常相似. 使用xlabel()设置x轴标签 函数签名为matplotlib.pyplot.x ...

  8. matplotlib之pyplot模块——调整子图布局(subplots_adjust、tight_layout)

    在pyplot模块中,与调整子图布局的函数主要为subplots_adjust和tight_layout,其中subplots_adjust是修改子图间距的通用函数,tight_layout默认执行一 ...

  9. Python绘制单数据系列柱状图、多数据系列柱状图、堆积柱状图、百分比堆积柱状图

    1.单数据系列柱状图: 运行结果:  具体代码: #引入工具包 import matplotlib.pyplot as plt import numpy as np#设置中文字体,如果不需要中文,则可 ...

最新文章

  1. 干货回顾丨机器学习笔记-----AP(affinity propagat)算法讲解及matlab实现
  2. Python二分查找算法
  3. 五大主流浏览器及内核
  4. 252.Meeting Rooms
  5. 通过kubeadm的方式以及二进制包的方式安装k8s的对比总结---K8S_Google工作笔记0016
  6. 因为孤浪的关于爱情...关于婚姻...关于生活... 走进的CTO的第一天
  7. 蒙文字体怎么安装_我们来聊一聊iOS13的“字体”该怎么用?
  8. python—datatable加载数据
  9. 8.8LSTM作为元学习器学习梯度下降
  10. 用python批量下载modis数据的速度怎么样_MODIS数据下载与处理-pymodis的使用(持续更新...)...
  11. 微信小程序常用UI组件库
  12. 龙果开源支付系统 架构全新升级
  13. html页面实现下载功能,html网页实现服务器下载、本地文件下载功能
  14. 七层网络协议模型(ISO模型)
  15. Blender导出json格式插件安装
  16. Linux上查找最大文件的 3 种方法
  17. 01数据分析与Excel
  18. 数据结构c语言版ppt答案,《数据结构(C语言版)》习题答案.ppt
  19. 未来几年,自动化发展趋势展望
  20. ae缺少效果opticalflares_Optical Flares 镜头光晕AE插件

热门文章

  1. python实现投标报价计算
  2. java程序员云计算学习路线
  3. 微信公众号接口开发----退款
  4. ubuntu boost运行./bootstrap.sh后出现Failed to build B2 build engine
  5. cucumber自动化 java_cucumber自动化测试官方教程
  6. 破记录!国产数据库KunDB 单节点TPC-C事务性能超180万tpmC
  7. ECS的简单入门(六):传统GameObject模式转换到ECS模式
  8. 大数据可视化陈为智慧树_知到智慧树_大数据可视化_大学课后答案
  9. [转](2条消息) Unity3D模型 | SolidWorks建模导入Unity
  10. chrome浏览器必备5款插件--各个都好使--chrome基础