Python-您可以绘制带有轮廓的直方图吗?

时间:2018-11-18 10:09:58

标签: python matplotlib histogram draw

我想绘制具有这样的轮廓的直方图enter image description here

我在here中找到了这张图片,但是按照相同的步骤之后,我没有得到轮廓。

我在堆栈溢出中看到了this个问题,但它在每个条形上都画了一条边,我只想要外轮廓。

如何绘制此外部轮廓? (我正在运行python 3)

1 个答案:

答案 0 :(得分:3)

该图可能是使用不同(即较旧)的matplotlib版本制作的。从normed的使用也可以看出这一点,在较新的版本中已不推荐使用。

在这里,您需要将edgecolor明确设置为黑色。 ec="k",或更长的edgecolor="black"

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')

x1 = np.random.normal(0, 0.8, 1000)
x2 = np.random.normal(-2, 1, 1000)
x3 = np.random.normal(3, 2, 1000)

kwargs = dict(histtype='stepfilled', alpha=0.3, density=True, bins=40, ec="k")

plt.hist(x1, **kwargs)
plt.hist(x2, **kwargs)
plt.hist(x3, **kwargs);

plt.show()

enter image description here