[英]Matplotlib's bar chart displays uneven bars
問題是您的x值之間的間距為0.1,默認的條形寬度為1,因此您會看到重疊的條形。 解決方案是定義鋼筋寬度。 在您的情況下,條寬度小於0.1會很好地工作。 例如,您可以使用width=0.05
,您將得到以下圖形。
為什么是負面的? :默認情況下,條形居中於0、1、2、3等。 因此,問題中的第一個條形圖以0為中心繪制,寬度為1。這就是為什么它在-0.5到+0.5范圍內的原因。
rects1 = plt.bar([0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,1],
[1, 2, 4, 10, 5, 9, 1,4, 9, 9], width=0.05, edgecolor='black')
plt.xlabel('Sample Mean')
plt.ylabel('Probability')
如果您不希望x <0處的柱線 :您可以通過傳遞參數align='edge
來將柱線向右align='edge
。
rects1 = plt.bar([0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,1],
[1, 2, 4, 10, 5, 9, 1,4, 9, 9], width=0.05, align='edge',
edgecolor='black')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.