服务器之家

服务器之家 > 正文

Python绘制堆叠柱状图的实例

时间:2021-08-05 00:22     来源/作者:程序小学生

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

1.什么是堆叠柱状图

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

Python绘制堆叠柱状图的实例

2.数据展示

Python绘制堆叠柱状图的实例

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

3.Python代码

  1. from matplotlib import pyplot as plt
  2. import pandas as pd
  3. import xlrd
  4. import numpy as np
  5.  
  6. data = xlrd.open_workbook('ccc.xlsx') #打开数据
  7. table = data.sheet_by_index(0) #获取sheet1的数据
  8. nrows = table.nrows #获取sheet1中的行
  9. plot_list = ['plot1']
  10. plot1_ra_list = [[0] for i in range(17)]#构建一个17X1的列表
  11. i = 0
  12. for row in range(1,nrows): #循环读取表内数据
  13. if table.cell(row,0).value == 2015.0 and table.cell(row,1).value == 'plot1':
  14. print(table.cell(row, 3).value) #第三列是各个元素所占的比例
  15. print(i)
  16. plot1_ra_list[i][0]=(float(table.cell(row, 3).value))
  17. i+=1
  18. #颜色列表
  19. color = ['y','r','snow','b','k','g','orange','c','bisque','brown','lime','aqua','coral','darkcyan','gold','teal','pink',]
  20. plt.figure(figsize=(8,6))
  21. for i in range(17):
  22. 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])
  23. plt.legend()
  24. plt.show()

4.效果展示

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

Python绘制堆叠柱状图的实例

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

原文链接:https://blog.csdn.net/qq_25174673/article/details/85126457

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部