我正在尝试使用条形图绘制直方图,并且我很难弄清楚如何将x轴标签与实际的箱子对齐。下面的代码生成以下图:
如您所见,每个x标签的末尾未与其bin的中心对齐。我正在考虑的方式是:当我应用45度旋转时,标签围绕其几何中心枢转。我想知道是否可以将枢轴移动到标签的顶部。 (或者只是简单地将所有标签翻译成左侧。)
import matplotlib.pyplot as plt
import numpy as np
#data
np.random.seed(42)
data = np.random.rand(5)
names = ['A:GBC_1233','C:WERT_423','A:LYD_342','B:SFS_23','D:KDE_2342']
ax = plt.subplot(111)
width=0.3
bins = map(lambda x: x-width/2,range(1,len(data)+1))
ax.bar(bins,data,width=width)
ax.set_xticks(map(lambda x: x, range(1,len(data)+1)))
ax.set_xticklabels(names,rotation=45)
plt.show()
答案 0 :(得分:11)
使用:
ax.set_xticklabels(names,rotation=45, rotation_mode="anchor", ha="right")
输出结果为: