Python直方图大纲

Posted

技术标签:

【中文标题】Python直方图大纲【英文标题】:Python histogram outline 【发布时间】:2017-08-02 04:10:12 【问题描述】:

我在 Jupyter (Python 2) 中绘制了一个直方图,并希望看到我的条形图的轮廓,但事实并非如此。

我正在使用以下代码:

import matplotlib.pyplot as plt
from numpy.random import normal
gaussian_numbers = normal(size=1000)
plt.hist(gaussian_numbers)
plt.title("Gaussian Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()

【问题讨论】:

对于我运行您的代码,这些行就在那里。您是否修改了默认线宽?第二个猜测,边缘颜色可能与条形颜色相同。 (尝试调用:plt.hist(gaussian_numbers, linewidth=1, edgecolor='r') 有些人默认看到轮廓而其他人看不到的原因是他们使用不同版本的matplotlib。提问者使用 matplotlib 2.0,而 Joma 和 @James 使用 matplotlib 1.5。使用 edgecolor = "k" 确实将这些行带回了 matplotlib 2.0。 【参考方案1】:

您的linewidth 似乎设置为零,或者您的edgecolor 设置为'none'。 Matplotlib 在 2.0 中更改了这些的默认值。尝试使用:

plt.hist(gaussian_numbers, edgecolor='black', linewidth=1.2)

【讨论】:

另见@ImportanceOfBeingErnest 的评论为什么会这样。 你怎么知道edgecolor?在documentation 中没有提及它。 在您的文档链接中,最后一部分是“其他参数”,其中包含**kwargskwargs 旁边的链接是补丁文档。这表明任何可以应用于补丁的参数都可以作为关键字参数传递给hist,包括edgecolor 是的,**kawrgs 是 matplotlib 中所有图形通用的一组参数。他们这样做是为了不必将它们全部复制粘贴到每一页。

以上是关于Python直方图大纲的主要内容,如果未能解决你的问题,请参考以下文章

python画hist直方图

python——直方图均衡化

Python 画直方图

Python绘制图像的灰度直方图累计直方图

直方图均衡化-Python实现

Python实现图像直方图均衡化算法