怎么在matplotlib中利用酒吧()函数实现一个百分比堆积柱状图

  介绍

怎么在matplotlib中利用酒吧()函数实现一个百分比堆积柱状图?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

适用于少量数据,数据结构需要手动构造。

import  matplotlib.pyplot  as  plt      labels =, (& # 39; g1 # 39;,, & # 39; g2 # 39;,, & # 39; g3 # 39;,, & # 39; g4 # 39;,, & # 39; g5 # 39;】   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 =,(第一,,第二,第三,第四)      时间=x 范围(len(标签)   width  0.35=,      #,将bottom_y元素都初始化为0   时间=bottom_y  [0], *, len(标签)   #,计算每组柱子的总和,为计算百分比做准备   sums =,(和(i), for 小姐:拷贝zip(第一,,第二,第三,第四个))   for 小姐:拷贝数据:   ,#计算每个柱子的高度,即百分比=,y  [/b  for ,, b 拷贝zip(我,,金额)   ,plt.bar(宽度,x,, y,,底部=bottom_y)   ,#计算底参数的位置=,bottom_y  [(a + b), for ,, b 拷贝zip (y), bottom_y))      plt.xticks (x,,标签)   plt.title (& # 39; Percent  stacked  bar  & # 39;)   plt.show ()

使用numpy版本

第一个版本的缺陷在于数据需要手动构造,而且计算稍微繁琐一些。
使用numpy便于处理规模比较大且已存储在文件中数据的数据,计算更简便。

import  numpy  as  np   import  matplotlib.pyplot  as  plt      labels =, (& # 39; g1 # 39;,, & # 39; g2 # 39;,, & # 39; g3 # 39;,, & # 39; g4 # 39;,, & # 39; g5 # 39;】   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 =,(第一,,第二,第三,第四)      时间=x 范围(len(标签)   width  0.35=,      #,将bottom_y元素都初始化为0   时间=bottom_y  np.zeros (len(标签)   时间=data  np.array(数据)   #,按列计算计算每组柱子的总和,为计算百分比做准备   时间=sums  np.sum(数据,,轴=0)   for 小姐:拷贝数据:   ,#计算每个柱子的高度,即百分比=,y 小姐:/金额   ,plt.bar(宽度,x,, y,,底部=bottom_y)   ,#计算底参数的位置=,,bottom_y  y  + bottom_y      plt.xticks (x,,标签)   plt.title (& # 39; Percent  stacked  bar  & # 39;)   plt.show ()

关于怎么在matplotlib中利用酒吧()函数实现一个百分比堆积柱状图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在matplotlib中利用酒吧()函数实现一个百分比堆积柱状图