我有我的條形圖代碼。Matplotlib條形圖不繪製邊框/邊緣
ax1 = plt.subplot2grid((1,1),(0,0))
ax1.bar(edges2, Nnorm, width=0.02, edgecolor='green', linewidth=20)
我認爲應該讓我的條形圖有綠色的邊緣。但事實並非如此。它使最左邊的一個酒吧綠色。我究竟做錯了什麼? Facecolor的作品。
我有我的條形圖代碼。Matplotlib條形圖不繪製邊框/邊緣
ax1 = plt.subplot2grid((1,1),(0,0))
ax1.bar(edges2, Nnorm, width=0.02, edgecolor='green', linewidth=20)
我認爲應該讓我的條形圖有綠色的邊緣。但事實並非如此。它使最左邊的一個酒吧綠色。我究竟做錯了什麼? Facecolor的作品。
不幸的是,this is a bug in matplotlib 2.1。它應該在下一個版本中修復。
截至目前一種解決方法是設置edgecolor和線寬爲每個單獨的條:
import matplotlib.pyplot as plt
bars = plt.bar(range(4), [3,4,1,5])
for bar in bars:
bar.set_edgecolor("green")
bar.set_linewidth(20)
plt.show()
前面已經解釋過,這是一個matplotlib bug。然而,這僅僅是edgecolor的缺失廣播,所以這裏有一個更緊湊的解決方法:
plt.bar(x, y, linewidth=20, edgecolor=['g']*len(x))
另一種解決方案是通過一個alpha參數:
plt.bar(range(4), [3,4,1,5], alpha=1, edgecolor='k', linewidth=20)
注:這隻能當您正在設置的邊緣顏色爲黑色,否則第一列將具有正確的邊緣顏色,其餘部分將爲黑色
完美。不幸的錯誤,但這種工作效果很好。謝謝!我會密切關注更新。 – Nertskull