Python绘制堆叠柱状图的实例


Posted in Python onJuly 09, 2019

有个朋友要求帮忙绘制堆叠柱状图,查阅了一些文档之后也算是完成了,只是一个小demo,下面我就记录一下。

1.什么是堆叠柱状图

与并排显示分类的分组柱状图不同,堆叠柱状图将每个柱子进行分割以显示相同类型下各个数据的大小情况。它可以形象的展示一个大分类包含的每个小分类的数据,以及各个小分类的占比,显示的是单个项目与整体之间的关系。效果图如下:

Python绘制堆叠柱状图的实例

2.数据展示

Python绘制堆叠柱状图的实例

这里展示了部分数据,主要是treatment就是对应的上图分类一,分类二;species就是对应的分组;ra就是对应的各个分组的比例。

3.Python代码

from matplotlib import pyplot as plt
import pandas as pd
import xlrd
import numpy as np
 
data = xlrd.open_workbook('ccc.xlsx')  #打开数据
table = data.sheet_by_index(0)     #获取sheet1的数据
nrows = table.nrows           #获取sheet1中的行
plot_list = ['plot1']
plot1_ra_list = [[0] for i in range(17)]#构建一个17X1的列表
i = 0
for row in range(1,nrows):       #循环读取表内数据
  if table.cell(row,0).value == 2015.0 and table.cell(row,1).value == 'plot1':
    print(table.cell(row, 3).value) #第三列是各个元素所占的比例
    print(i)
    plot1_ra_list[i][0]=(float(table.cell(row, 3).value))
    i+=1
#颜色列表
color = ['y','r','snow','b','k','g','orange','c','bisque','brown','lime','aqua','coral','darkcyan','gold','teal','pink',]
plt.figure(figsize=(8,6))
for i in range(17):
  plt.bar(range(len(plot1_ra_list[i])), plot1_ra_list[i],bottom=np.sum(plot1_ra_list[:i],axis = 0),label=str(i+1),tick_label = plot_list,fc = color[i])
plt.legend()
plt.show()

4.效果展示

上述代码我只做了2015年的plot1,如果要把plot2增加上注意要对齐plot1和plot2的species数量,可以认为的添加,并补充对应的ra为0,这样子也不影响整个做图。下面我PO一张demo。

Python绘制堆叠柱状图的实例

以上这篇Python绘制堆叠柱状图的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python抓取京东图书评论数据
Aug 31 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
python3+PyQt5实现文档打印功能
Apr 24 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
python日期相关操作实例小结
Jun 24 Python
python爬虫中多线程的使用详解
Sep 23 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
python 实现德洛内三角剖分的操作
Apr 22 Python
python3 线性回归验证方法
Jul 09 #Python
python time.sleep()是睡眠线程还是进程
Jul 09 #Python
python logging模块的使用总结
Jul 09 #Python
Django中如何使用sass的方法步骤
Jul 09 #Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 #Python
使用python socket分发大文件的实现方法
Jul 08 #Python
python查看文件大小和文件夹内容的方法
Jul 08 #Python
You might like
使用swoole扩展php websocket示例
2014/02/13 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP自定义错误用法示例
2016/09/28 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
应届生妇产科护士求职信
2013/10/27 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
平面设计求职信
2014/03/10 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
公司授权委托书范文
2014/09/21 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
Python与C++中梯度方向直方图的实现
2022/03/17 Python