如何将两个数据数组绘制为相邻的直方图



这可能是一个非常简单的问题,但由于某种原因我无法解决,我需要继续我的工作。

如果我有两个阵列:

a = [3 6 4 9]
b = [4 8 2 7]

我想把它们画成直方图的形式,每个索引的柱子挨着。我该怎么做?

x轴将类似于1、2、3、4,而y轴将从0到10。

我认为你误解了直方图的概念,因为直方图中的x轴是仓,而y轴是频率。通过在直方图中绘制ab数据,您可以在每组中找到4个高度为1的条形图。

我知道你所拥有的是经过处理的频率,并想将其绘制在任意的箱中。我建议您直接使用原始数据和pyplot.histogram,但要直接绘制您显示的数据,您可以使用pyplot.bar:

import random
import numpy
from matplotlib import pyplot
a = [3, 6, 4, 9]
b = [4, 8, 2, 7]
x = numpy.array([0,1,2,3])
pyplot.bar(x, a, 0.3)
pyplot.bar(x + 0.3, b, 0.3)
pyplot.show()

注意x轴破解,以显示相邻的条形图。如果你愿意多次实现这一点,可能就不是你想要的了。

最新更新