Matplotlib:绘制对数时的非对数标签

时间:2015-02-01 18:41:57

标签: python matplotlib plot logarithm

我正在绘制直方图,在绘制之前取数量的对数,(而不是选择我的绘图的对数刻度),在x轴上的刻度标签中,我显然得到了对数。 我希望标签能够显示科学记数法:换句话说,我想要10 ^ 3而不是3,例如。

有没有办法做到这一点?我看到了其他问题,比如Matplotlib - logarithmic scale, but require non-logarithmic labels,但这不是一回事,我没有'使用ax.set_xscale('log')。 这是我的代码行:

ax[0, 0].hist(np.log10(bh_100[:, 0]),bins=15, ls='dashed', color= 'b',   log=True, label = 'Bh-bh')

1 个答案:

答案 0 :(得分:1)

您可以随时使用set_xticklabels根据需要设置标签

例如,你可以这样做:

ax.set_xticklabels(['10^{%d}'%i for i in range(5)])

或LaTeX风格:

ax.set_xticklabels(['$10^{%d}$'%i for i in range(5)])