我正在尝试使用 matplotlib 绘制条形图。我的问题是我在列表中有一些“0”值,而 matplotlib 吃了其中一些值,我如何确保它总是绘制所有值。
这是代码:
counter_trim = counter[6:(len(counter)-6)]
pos = np.arange(len(Test_names[6:]))
width =.65
ax = plt.axes()
ax.set_ylabel('Number of failures')
ax.set_title('Distribution of ABT failures')
ax.set_xticks(pos + (width/2))
xtickNames= ax.set_xticklabels(Test_names[6:])
plt.setp(xtickNames, rotation=90, fontsize=10)
plt.bar(pos, counter_trim, width, color='b')
plt.tight_layout()
print 'Distribution plot can be found here:' +image_filepath
plt.savefig(image_filepath)
为了让事情更清楚,
这里是 pos 的值:[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
和 counter_trim 的值: [0, 0, 0, 1, 17, 6, 0, 14, 32, 11, 0, 0, 2, 0, 1, 0, 0]
上面的代码跳过了前 3 个和后 2 个零,但是其余的都是一样的!
任何想法如何避免这种情况?