我正在嘗試製作堆疊直方圖,其中每個堆疊組件具有不同的線條樣式和顏色。 color
參數接受列表和每個組件的顏色。但是linestyle參數ls
沒有。有沒有辦法分別控制每個堆疊組件的面和線型?pyplot hist()每個堆疊組件的單獨線型
import numpy as np
import matplotlib.pyplot as plt
x = np.random.random(100)
# this works:
plt.hist([x,x], histtype='stepfilled', stacked=True, color=['r', 'b'])
# this does not:
plt.hist([x,x], histtype='stepfilled', stacked=True, color=['r', 'b'], ls=['-', '--'])
理想情況下,我想在color
和face-並且每個堆疊部件的edgecolor兩者的alpha
二者的完全控制。那可能嗎?我試過玩fc
選項,但也不接受列表。
我也看過這個例子[1],它在ax2
上顯示了這種行爲,但它看起來很黑。例如,下面的代碼產生一個有錯誤的結果:
plt.hist([(0,1,1), (0,0,1)], histtype='step', stacked=True, fill=True)
有捕捉patches
和單獨控制它們,就像在此答案的解決方法[2]。但我想知道是否也可以直接從plt.hist()?
[1] http://matplotlib.org/examples/statistics/histogram_demo_multihist.html
[2] https://stackoverflow.com/a/17517721/5064815
謝謝!但我想這會改變所有後續繪圖的'prop_cycle'?所以你必須在繪製'hist'之後重置它。我想我仍然會對更直接的做法感興趣。 – lab