猿问

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

这很奇怪。旋转 -90º 时,所有标签均等距显示并位于其位置:


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()

但是,我需要它们旋转 -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 = -45)

plt.xlim([-1, X1.shape[0]])

plt.show()

http://img2.mukewang.com/60bc66280001598003830411.jpg

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



慕斯709654
浏览 427回答 1
1回答

慕侠2389804

水平对齐通过horizontalalignment或其别名完成ha,plt.xticks(..., rotation = -45, ha="left")
随时随地看视频慕课网APP

相关分类

Python
我要回答