簡體   English   中英

Python:matplotlib條形圖的奇怪行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM