繁体   English   中英

如何将 plot 两个 arrays 的数据做成柱状图并排在一起

[英]How to plot two arrays of data as histograms next to eachother

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

如果我有两个 arrays:

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

我想要 plot 以直方图的形式显示它们,每个索引的支柱彼此相邻。 我怎么会go呢?

x 轴可能是 1、2、3、4,而 y 轴可能是 0 到 10。

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

我知道您拥有的是处理后的频率,并希望将其放入任意垃圾箱中的 plot。 我建议您直接使用原始数据和pyplot.histogram ,但要直接使用 plot 您显示的数据,您可以使用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 以显示彼此相邻的条。 如果您愿意不止一次实施此操作,则可能不是您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM