【问题标题】:Python histogram outlinePython直方图大纲
【发布时间】: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。

标签: python matplotlib histogram


【解决方案1】:

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

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

【讨论】:

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