如果滿足特定條件,我想更改 matplotlib 分組條形圖中條形的顏色。我為每個繪制兩個條形圖species- 一個 fortoday和一個 for avg,其中avg包含yerr顯示第 10 個和第 90 個百分位值的誤差條。
現在,如果值 > 第 10 個百分位,我希望avg條形為綠色,如果值 < 第 10today個length百分位,則為紅色today。length
我嘗試了這些帖子中的解決方案
uj5u.com熱心網友回復:
一種方法是在創建繪圖后覆寫顏色。首先,您需要更改初始化的
col行col = ['pink']*z['species'].nunique()要獲取平均條的數量,然后根據您的情況使用相同的 for 回圈添加 g 或 r。最后,改變這個
fig, ax = plt.subplots() z0.pivot(index='species', columns='type', values='length')\ .plot(kind='bar', yerr=bars, ax=ax, color=['pink','g'], capsize=0) # here use only pink and g # here overwrite the colors for p, c in zip(ax.patches, col): p.set_color(c) ax.set_title...請注意,即使您有一個紅色條,今天的圖例也是綠色的,這可能會令人困惑。
這是完整的作業示例,由于

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/438507.html標籤:Python 熊猫 matplotlib
上一篇:如何忽略子圖圖例中的一些標簽?
