我有一个numpy记录数组:
a = np.array([(29.40818036, '1'), (34.96458222, '2'), (16.05225074, '3'),
(13.23025364, '4'), (6.340924671, '5+')],
dtype=[('f0', '<f8'), ('f1', 'S2')])
我正在绘制一个如下所示的条形图:
plt.bar(np.arange(5)+0.5,a['f0'],width=1,color='0.95')
plt.ylim(0,40)
plt.xlim(0.5,5.5)
ax=plt.gca()
ax.set_xticklabels(a['f1'])
问题:
注意到x轴的值与柱形图上的不对齐,a['f1']
中的第一个值('1'
)缺失。
a['f1']
是['1' '2' '3' '4' '5+']
- 我本来期望这五个字符串可以放在五个柱形图下面。但实际上它们被向左推移了一位,导致'1'
丢失了。我在寻找一种方法来将这些值向右推移。
最佳的x轴刻度标签调整方式是什么?
ax.set_xticks(np.arange(5) + 1.5)
和plt.xlim(1,6)
很有效。谢谢。 - Lee