在同一图上绘制多个直方图时出现问题

2 投票
1 回答
2189 浏览
提问于 2025-04-17 17:40

我需要在同一个图上画几个直方图。我喜欢下面这段代码生成的效果:

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)
pyplot.hist(y, bins, alpha=0.5)
pyplot.show()

这段代码在这个页面上提到过:用matplotlib同时绘制两个直方图。基本上,我在绘制相同类型的直方图时遇到了麻烦,但我的数据看起来是这样的:

y1=[20,33,54,34,22]
x1=[0,2,4,6,8]
y2=[28,31,59,14,12]
x2=[0,2,4,6,8]

使用上面提到的代码,我无法让y轴的数值超过2.0,这很奇怪,但我一定是犯了什么低级错误。

谢谢。

1 个回答

1

可能你在找这个:

 pyplot.bar(x2,y2, color='b', width=2, alpha=0.5)
 pyplot.bar(x1,y1, color='r', width=2, alpha=0.5)
 pyplot.show()

在这里输入图片描述

撰写回答