2
我有條形圖,有很多自定義屬性(標籤,線寬,edgecolor)如何更新matplotlib中的條形圖?
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.gca()
x = np.arange(5)
y = np.random.rand(5)
bars = ax.bar(x, y, color='grey', linewidth=4.0)
ax.cla()
x2 = np.arange(10)
y2 = np.random.rand(10)
ax.bar(x2,y2)
plt.show()
用「正常」的情節我會用set_data()
的,但與條形圖我得到了一個錯誤:AttributeError: 'BarContainer' object has no attribute 'set_data'
我不想簡單地更新矩形的高度,我想繪製全新的矩形。如果我使用ax.cla(),我所有的設置(linewidth,edgecolor,title ..)都會丟失,不僅我的數據(矩形)和清除很多次,以及重置所有設置都會使我的程序不穩定。如果我不使用ax.cla()
,則設置保持不變,程序速度更快(我不必始終設置屬性),但矩形相互繪製,這不太好。
你能幫我嗎?
爲什麼取出的酒吧之一,由並且不直接刪除完整的BarContainer,bars.remove()'? – ImportanceOfBeingErnest
我已經嘗試過你的解決方案:循環thrugh'酒吧',並刪除一步也bars.After新的ax.bar(x2,y2)矩形再次藍色,但我的其他設置(非矩形相關的當然),像標題一樣,y,x lims保持不變,謝謝! – user3598726