Matplotlib Axes Offset

时间:2016-04-30 00:10:24

标签: matplotlib

提前感谢您的帮助。

我试图旋转两个叠加图的轴。当我将旋转设置为垂直时,它会与正确的列对齐,但是当我旋转x轴时,它们会偏移。

这是我的代码:

ax = plt.subplot(111)

ax.bar(range(1, 24, 3), gender_factors[1:2][[i for i in range(8)]].values.T, tick_label=traits_8, align = 'center', color = '#00cccc', label='Men')
ax.bar(range(0, 24, 3), gender_factors[2:3][[i for i in range(8)]].values.T, tick_label=traits_8, align = 'center', color = '#990033', label='Women')

plt.title('Personality Traits by Gender')

ax.set_xticklabels(traits_8, rotation=60) 

plt.xticks(range(0, 24, 3), traits_8, rotation='vertical')

plt.legend()
plt.show()

如何修复偏移?我尝试过使用范围(0,24,3)来做对,但它不起作用。

vertical 45-degrees

1 个答案:

答案 0 :(得分:1)

这是预期的行为。如果仔细观察底部图,文本的中心仍然与条形图的中心对齐。

要解决此问题,您可以在创建时将水平对齐设置为'right'

plt.xticks(range(0, 24, 3), traits_8, rotation=45, ha='right')

enter image description here