[英]Python : strange behavior with matplotlib barchart
我在ipython筆記本中使用matplotlib有一個奇怪的行為:當我更改條形圖的“顏色”屬性時,結果很難看,我的條形為紅色,另一些條形為黑色。 僅當我要顯示大量條形圖(> 100)時,才會發生這種情況。
您可以執行以下代碼來重現該問題,並使用dataPoints參數查看條形數量的影響:
import random
import matplotlib.pyplot as plt
dataPoints = 400
data = random.sample(range(300, 1000), dataPoints)
xCoords = range(dataPoints)
fig = plt.figure(figsize=[13,9])
plt.bar(xCoords,data,color='red')
plt.show()
這是結果的示例:
這不是pyplot的問題,也不是您的代碼或iPython版本中的問題。
這只是解決問題。 既然你要添加這么多的dataPoints
(400你的情況),您創建了太多箱! 這使其在生成的默認圖中重疊。
默認的200個數據點的dataPoints
如下所示
但是,當您放大看一下時,您會看到您的垃圾箱實際上是分開的,黑線現在也不清楚。
上面是您的程序具有200個dataPoints
的相同執行。
如果放大這些條,您會發現實際上沒有黑條。 您看到的黑色是條形周圍的黑色邊框和內插以適合屏幕像素的結果。
您可以做的是僅在圖像中使用紅色,這是使用以下方法將邊框的顏色更改為紅色
plt.bar(xCoords, data, color='red', edgecolor='red')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.