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 中没有提及它。
在您的文档链接中,最后一部分是“其他参数”,其中包含**kwargs
。 kwargs
旁边的链接是补丁文档。这表明任何可以应用于补丁的参数都可以作为关键字参数传递给hist
,包括edgecolor
是的,**kawrgs 是 matplotlib 中所有图形通用的一组参数。他们这样做是为了不必将它们全部复制粘贴到每一页。以上是关于Python直方图大纲的主要内容,如果未能解决你的问题,请参考以下文章