3个直方图在一个轴上 - Matplotlib python

时间:2017-08-14 17:49:19

标签: python matplotlib histogram graphing

我正在尝试创建一个在一个轴上有3个直方图的图形。我希望它们用不同的颜色重叠。内部是半透明的。

每当我使用多种颜色(如RGB 0.5和alpha 0.5)时,颜色会重叠并产生令人讨厌的颜色。

如何在不产生令人讨厌的颜色的情况下描绘3幅图?我仍然希望图形以相同的性质重叠,只是在美学上令人愉悦。我看过重叠的图形,但你仍然可以清楚地看到每个直方图的颜色。感谢

1 个答案:

答案 0 :(得分:0)

您可以使用您称之为“好图”的颜色,如下所示:

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(42)

x1 = np.random.rand(15)*3
x2 = np.random.rayleigh(size=15)
x3 = np.random.binomial(3,0.7,size=15)

bins= np.linspace(0,4,11)
kw = dict(bins=bins, histtype='step', fill=True)
plt.hist(x1, fc=(.14,.57,.14,.4), ec=(.14,.57,.14, 1), **kw)
plt.hist(x2, fc=(.16,.16,1.0,.4), ec=(.16,.16,1.0, 1), **kw)
plt.hist(x3, fc=(1.0,.14,.14,.4), ec=(1.0,.14,.14, 1), **kw)

plt.show()

enter image description here