一尘不染

使用matplotlib在单个图表上绘制两个直方图

python

我使用文件中的数据创建了直方图,没问题。现在我想在同一直方图中叠加来自另一个文件的数据,所以我要做类似的事情

n,bins,patchs = ax.hist(mydata1,100)
n,bins,patchs = ax.hist(mydata2,100)

但是问题在于,对于每个间隔,只有最高值的条出现,而另一条被隐藏。我想知道如何同时用不同的颜色绘制两个直方图。


阅读 442

收藏
2021-01-20

共1个答案

一尘不染

这里有一个工作示例:

import random
import numpy
from matplotlib import pyplot

x = [random.gauss(3,1) for _ in range(400)]
y = [random.gauss(4,2) for _ in range(400)]

bins = numpy.linspace(-10, 10, 100)

pyplot.hist(x, bins, alpha=0.5, label='x')
pyplot.hist(y, bins, alpha=0.5, label='y')
pyplot.legend(loc='upper right')
pyplot.show()
2021-01-20