Matplotlib:旋转Xticks时标签之间出现不均匀的间隙

时间:2018-08-29 08:49:22

标签: python matplotlib

这很奇怪。旋转-90º时,所有标签均等距分布并位于相应位置:

sudo yarn global add generator-jhipster

result of script

但是,我需要将它们旋转-45º,这就是发生的情况:

feat_names = ["totalUniqueCustomerPhoneNumberLocal_f",
                "userIdentitty_f",
                "EMAIL_WEEKS_1_f",
                "length_f",
                "totalValidations_f",
                "amount_per_purchase_k",
                "amount_f"]

X1 = np.array([0.18790969, 0.18208303, 0.15003641, 0.11143482, 0.07428987,
       0.06846322, 0.06773489])

plt.figure()
plt.title("Feature importances")
plt.bar(range(X1.shape[0]), X1,color="r", align="center")
plt.xticks(range(X1.shape[0]), feat_names, rotation = -90)
plt.xlim([-1, X1.shape[0]])
plt.show()

result of script2

关于使标签旋转-45º时如何使标签开始与条的中心对齐的任何想法?

谢谢

1 个答案:

答案 0 :(得分:1)

通过horizontalalignment或其别名ha完成水平对齐

plt.xticks(..., rotation = -45, ha="left")