我有一个数字列表。列表就像 [0,0,1,0,1 .... ] 。目前它只有二进制数字,但后来它也可以有十进制数字。我想在列表中绘制这个序列的直方图。当我使用 matplotlib 库的标准 hist 函数时,我只得到两个条。它计算全零和全一,并向我显示带有两个条的直方图。但我想以不同的方式进行绘图。我想要一个条数 = 列表的长度和每个条的高度 = 列表中的值(位置 = bar#)。
这是代码:
def plot_histogram(self,li_input,):
binseq = numpy.arange(len(li_input))
tupl = matplotlib.pyplot.hist(li_input,bins=binseq)
matplotlib.pyplot.show()
li_input 是上面讨论的列表。
我可以用一种讨厌的方式来做,比如:
li_input_mod = []
for x in range(len(li_input)):
li_input_mod += [x]*li_input[x]
然后绘制它,但我想要更好的东西。