黑书包黑帽子 2023-02-10 19:33 采纳率: 100%
浏览 35
已结题

matplotlib柱形图画图小问题

#matpltlib堆叠柱形图问题

import matplotlib.pyplot as plt
plt.figure()

x = range(1, 90)
a =[32.48893, 66.335213, 61.010075, 43.615044, 30.0, 47.048744, 56.006947, 54.796486, 55.633141, 31.869307, 30.0,
      43.338078, 30.0, 30.0, 35.987534, 30.0, 30.0, 30.0, 30.0, 30.0, 20.0, 20.0, 20.0, 30.0, 30.0, 30.0, 30.0, 30.0,
      30.0, 30.0, 35.711754, 30.0, 30.0, 30.0, 35.391739, 3.367466, 30.710413, 30.0, 30.0, 30.0, 36.45649, 30.0, 30.0,
      30.0, 30.0, 30.0, 29.179741, 46.937462, 39.757786, 34.5856743, 30.3254433, 30.0, 32.6565285, 37.276352, 33.792843,
      30.0, 30.0, 30.0, 35.270195, 34.573338, 34.807304, 30.0, 30.0,
      30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.2616196, 30.931105, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
      30.0, 30.0, 30.0, 30.0, 30.0,  33.7542, 38.645329, 30.256792, 30.0]
b = [20.0, 24.546633, 25.635265, 21.700287, 20.0, 74.242142,
       66.942673, 57.671547, 67.6428549, 82.78205, 85.413986, 90.747169, 91.73587, 100.0, 100.0, 100.0, 100.0, 100.0,
       100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 95.523148, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
       100.0, 100.0, 100.0, 100.0, 100.0, 99.354309, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
       100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 96.534683, 100.0, 100.0, 100.0, 100.0, 100.0,
       100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
       97.34684, 94.393402, 82335678.0,61.29287, 52.813599, 35.591305, 39.1617813, 32.950611, 20.475721, 20.0]

rgbcolor = [(255 / 255, 159 / 255, 127 / 255), (50 / 255, 196 / 255, 233 / 255), (252 / 255, 114 / 255, 147 / 255)]
plt.bar(x, b, width=0.35, bottom=a, color=rgbcolor[1], label='b')
plt.bar(x, a, width=0.35, color=rgbcolor[0], label='a')
plt.show()

单独画a的柱形图显示,把b的数据堆叠在a之上,运行代码没有错误,但不显示了。请问这是为什么?

  • 写回答

2条回答 默认 最新

  • A1358722560 2023-02-10 20:02
    关注

    这是因为你的数据b有问题,可以进行以下修改:

    import matplotlib.pyplot as plt
    
    plt.figure()
    
    x = range(1, 90)
    a = [32.48893, 66.335213, 61.010075, 43.615044, 30.0, 47.048744, 56.006947, 54.796486, 55.633141, 31.869307, 30.0,
         43.338078, 30.0, 30.0, 35.987534, 30.0, 30.0, 30.0, 30.0, 30.0, 20.0, 20.0, 20.0, 30.0, 30.0, 30.0, 30.0, 30.0,
         30.0, 30.0, 35.711754, 30.0, 30.0, 30.0, 35.391739, 3.367466, 30.710413, 30.0, 30.0, 30.0, 36.45649, 30.0, 30.0,
         30.0, 30.0, 30.0, 29.179741, 46.937462, 39.757786, 34.5856743, 30.3254433, 30.0, 32.6565285, 37.276352, 33.792843,
         30.0, 30.0, 30.0, 35.270195, 34.573338, 34.807304, 30.0, 30.0,
         30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.2616196, 30.931105, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
         30.0, 30.0, 30.0, 30.0, 30.0, 33.7542, 38.645329, 30.256792, 30.0]
    b = [20.0, 24.546633, 25.635265, 21.700287, 20.0, 74.242142,
         66.942673, 57.671547, 67.6428549, 82.78205, 85.413986, 90.747169, 91.73587, 100.0, 100.0, 100.0, 100.0, 100.0,
         100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 95.523148, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
         100.0, 100.0, 100.0, 100.0, 100.0, 99.354309, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
         100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 96.534683, 100.0, 100.0, 100.0, 100.0, 100.0,
         100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
         97.34684, 94.393402, 82.3356780, 61.29287, 52.813599, 35.591305, 39.1617813, 32.950611, 20.475721, 20.0]
    
    rgb_color = [(255 / 255, 159 / 255, 127 / 255), (50 / 255, 196 / 255, 233 / 255), (252 / 255, 114 / 255, 147 / 255)]
    plt.bar(x, b, width=0.35, bottom=a, color=rgb_color[1], label='b')
    plt.bar(x, a, width=0.35, color=rgb_color[0], label='a')
    
    plt.show()
    
    
    

    运行结果为:

    img

    如果问题得到解决的话请点 采纳~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月10日
  • 已采纳回答 2月10日
  • 创建了问题 2月10日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答