【问题标题】:Matplotlib - Stacked Bar Chart, bottomsMatplotlib - 堆积条形图,底部
【发布时间】:2019-07-29 14:50:11
【问题描述】:

我很难理解为什么我在 matplotlib 中的堆积条形图行为不正确。它与我的 plt.bar() 函数中的“底部”参数有关

如果我对要绘制的值进行硬编码,一切正常:

import matplotlib.pyplot as plt

var1 = 'Bar1' 
var2 = .2403 
var3 = .1256
var4 = .1158

plt.bar(var1, var2, color='green')
plt.bar(var1, var3, bottom=var2, color='blue')
plt.bar(var1, var4, bottom=(var2+var3), color='red')

这是正确的输出和它的样子:

在我的代码中,我有一个函数可以生成列表中的一些值,我将迭代地绘制这些值。这是做一些数学运算后的值。每个列表中只有 1 项:

var1 = 'Bar1'
var2 = [.2403]
var3 = [.1256]
var4 = [.1158]

现在我尝试使用相同的代码来绘制这些:

plt.bar(var1, var2, color='green')
plt.bar(var1, var3, bottom=var2, color='blue')
plt.bar(var1, var4, bottom=(var2+var3), color='red')

但结果看起来不正确。我不确定这里发生了什么:

【问题讨论】:

  • 了解1+2[1] + [2]的区别。
  • 就是这样。谢谢

标签: python matplotlib


【解决方案1】:

感谢上面的评论,我有一个解决方案:

for i in range(0, len(var1)):
    plt.bar(var1, var2, color='green')
    plt.bar(var1, var3, bottom=var2[i], color='blue')
    plt.bar(var1, var4, bottom=(var2[i]+var3[i]), color='red')

【讨论】:

    猜你喜欢
    • 2018-01-17
    • 2019-11-28
    • 2014-11-26
    • 2017-11-02
    • 2021-02-27
    • 2017-09-19
    • 2023-03-11
    相关资源
    最近更新 更多