Matplotlib.plot直方图有额外的空间

时间:2013-06-22 00:01:23

标签: python matplotlib histogram

我不确定如何说出来;当我创建直方图时,它应该具有0到255之间的值[灰色阴影中的黑色到白色值],但它几乎总是达到300左右。我的代码中是否有一些东西正在弄乱x范围?< / p>

from PIL import Image
import matplotlib.pyplot as plt
import urllib, cStringIO

file = cStringIO.StringIO(urllib.urlopen("http://www.animal-photos.org/_photo/2715313.jpg").read())
im = Image.open(file)
im = im.convert("L")
data = list(im.getdata())
plt.hist(data, color = "gray", bins = 256, label = "Gray Histogram", )
plt.xlabel("Gray Value (0,256)")
plt.show()

第一部分[文件部分]已被添加,以便代码实际运行; URL只是我打开的黑白jpg。该程序会切割图像并通过直方图告诉我们有多少像素有不同的灰度(由0到255的值给出)。

1 个答案:

答案 0 :(得分:1)

刻度线的默认自动定位器会尝试制作“漂亮”范围(如最接近的百位)。

您只需要设置x限制

plt.gca().set_xlim([0, 255])

解决问题。