Matplotlib跳过数据 -

时间:2013-03-19 14:26:04

标签: python matplotlib

我正在尝试使用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个零,但休息一切都是一样的!

任何想法如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

plt.xlim(0, len(counter_trim))

因为他没有绘制实际的条形图,我猜plot命令会省略这些条目。我无法在x上使用你的标签来尝试它,因为它们与文本没有关系,但这与标准轴一起工作。