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

时间:2020-08-18 11:10:45

标签: python matplotlib data-science

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

如果我有两个数组:

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

,我想以直方图的形式绘制它们,每个索引的柱子彼此相邻。我该怎么办?

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

1 个答案:

答案 0 :(得分:0)

我认为您对直方图的概念有误解,因为直方图中的x轴是bin,而y轴是频率。通过在直方图中绘制ab数据,您会发现每组中高度为1的4条。

我了解您拥有的是经过处理的频率,并希望将其绘制在任意条带中。我建议您直接使用原始数据和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轴hack,以显示彼此相邻的条。如果您愿意多次执行此操作,则可能不是您想要的。