簡體   English   中英

Matplotlib-堆積的條形圖,底部

[英]Matplotlib - Stacked Bar Chart, bottoms

我正在努力了解為什么我在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')

但是結果看起來並不正確。 我不確定這里發生了什么: 在此處輸入圖片說明

感謝上面的評論,我有一個解決方案:

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM