首页 > 解决方案 > Python matplot 缺少条形图中的条形

问题描述

pyhon matplot 缺少条形图中的条形。我希望它在 [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000]但它只显示在 [250, 350, 450, 550, 650, 750]

import matplotlib.pyplot as plt

nsamples = 1000 + 1
vpp = 25
timestamps = [t for t in range(0, nsamples, vpp)]
processings = [0 for t in range(0, nsamples, vpp)]
transmissions = [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 650, 700, 750, 800, 850, 900, 950, 1000]

for transmission in transmissions:
    processings[transmission / vpp] = 1

plt.bar(timestamps, processings)
plt.show()

标签: python-2.7matplotlib

解决方案


好的。我让它以某种方式工作,我不知道细节,但是当我通过使用 range(0, nsamples/vpp, 1) 而不是 range(0, nsamples, vpp) 减少样本量时,图形按预期绘制(即使要在 x 轴上绘制的元素数量仍然相同。)似乎 plt.bar 假定参数列表中轴值之间的单位步长,而不是仅获取列表本身并绘制它。


推荐阅读