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

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

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

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

最佳答案

这里有一个工作示例:

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()

https://stackoverflow.com/questions/6871201/

相关文章:

python - 如何避免 "RuntimeError: dictionary changed si

python - 错误 : command 'gcc' failed with exit statu

Android Debug Bridge (adb) 设备 - 无权限

linux - fork()、vfork()、exec()和clone()的区别

python - python - 如何按两列或多列对python pandas中的dataFram

linux - 如何在 Minikube 中使用本地 docker 镜像?

python - 如何比较 Python 中的版本号?

linux - 从管道将值读入 shell 变量

linux - 对标准输入、标准输出和标准错误感到困惑?

python - 如何在 Python 列表中切换两个项目的位置?