如何操作 pyplot 直方图 xtick 标签



我绘制直方图,值是从"input.txt"读取的。

f=np.recfromtxt('input.txt')
plt.hist(f[:,0],bins=[1E+27,1E+28,1E+29,1E+30, 1E+31,1E+32,1E+33])
plt.xlabel('x-axis label',fontsize=30)
plt.ylabel('Number of Sources',fontsize=30, style='italic')
plt.gca().set_xscale("log")
plt.xticks([1E+27,1E+28,1E+29,1E+30, 1E+31,1E+32,1E+33], labels, align="center" )
plt.tick_params(labelsize=25,align='center' )
labels = ['','$10^{28}$','$10^{29}$','$10^{30}$','$10^{31}$','$10^{32}$','$10^{33}$']
plt.show()

但是,尽管有align='center'命令,刻度标签仍然没有居中。有没有办法将它们居中?

我在这里看不到tick_params之间的对齐参数http://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html#matplotlib.axes.Axes.tick_params

而是使用 X 轴的 mehtod 显式指定每个轴set_xticklabels刻度对齐(http://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_xticklabels.html#matplotlib.axes.Axes.set_xticklabels)并分配"ha"参数(水平对齐参数)的"中心"值。set_yticklabels的工作原理几乎相同

最新更新