当前位置:   article > 正文

python画分组柱状图的模板_python分组柱状图

python分组柱状图

主要特征:

1、分组柱状图

2、能显示组内两个柱子差额百分比

3、纵坐标对数刻度

4、图例分列

代码及其注释:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 需要画图的数据
  4. data1 = [31.3313839,81.4741246,535.6064253,6615.067486,84241.35153]
  5. data2 = [33.592789,92.7759879,723.3740509,9606.228677,127541.5666]
  6. # 设置X轴标签
  7. #labels = [1000,10000,100000,1000000,10000000]
  8. labels_ = ['3','4','5','6','7']
  9. #用来为坐标的常规坐标 还是 对数坐标做准备
  10. fig, ax = plt.subplots(figsize=(6.4, 4.8))#用来控制图片的大小
  11. #fig, ax = plt.subplots()
  12. # 设置柱状图参数
  13. width = 0.35 #柱状图每个柱子的宽度,同时也是调整每组柱子之间的间隙
  14. x = np.arange(len(labels_)) #用来指定每个柱子位置参数
  15. # 绘制柱状图,正常坐标
  16. ax.bar(x-width/2, (data1), width=width, label='CL_Tucker')#第一个参数是该柱子的中心位置的坐标
  17. ax.bar(x+width/2, (data2), width=width, label='GTA')
  18. ax.set_yscale('log', basey=10)#设置柱子的纵坐标为对数刻度
  19. #在需要的位置添加数据标签,添加提高的百分比
  20. for j in range(len(data1)):
  21. differ = (data2[j] - data1[j]) / data2[j]
  22. x_pos = j-0.1
  23. y_pos = data2[j] + 5
  24. plt.text(x_pos,y_pos, '- {:.1f}%'.format(differ * 100), ha = 'center')
  25. #参数1和2是添加的文字的位置,参数3添加的文字内容
  26. # 设置图表标题和轴标签
  27. #plt.title('Multiple Bar Chart')
  28. plt.xlabel('Order')
  29. plt.ylabel('Time for factor updating(s)')
  30. #plt.xticks(x, fontsize=12, rotation=45,loc='inside')#设置标签的文字大小和旋转方向
  31. plt.xticks(x, labels_) #使得标签现实的是给定的文字标签
  32. # 设置图例
  33. plt.legend(loc='upper left', ncol=2)#设置图例的位置和列数
  34. #获取默认图片尺寸
  35. figure = plt.gcf()
  36. width = figure.bbox.width
  37. height = figure.bbox.height
  38. print(width,height)
  39. #plt.tight_layout(pad=10)
  40. # 显示图表
  41. plt.show()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/426609
推荐阅读
相关标签
  

闽ICP备14008679号