【问题标题】:How to change font size of the scientific notation in matplotlib?如何更改 matplotlib 中科学记数法的字体大小?
【发布时间】:2019-06-27 03:00:12
【问题描述】:

我想制作一个大字体的绘图,我可以轻松更改所有字体大小,除非我在轴标签中使用科学计数法。我已经搜索并尝试过,但还没有找到改变科学附录大小的方法。看这个图:

1

在此图中,“1e-4”与其他文本和标签相比太小了。 这些代码与生成该图中使用的放大字体有关:

ax.tick_params(labelsize=24)
ax.yaxis.get_major_formatter().set_powerlimits((0, 1))
ax.text(0.3,4.9e-4,'(a)',va='top',fontsize=24)
plt.xlabel('$r$ (a.u.)',fontsize=24)
plt.ylabel('Probability',fontsize=24)

对了,如何把“1e-4”改成“x1e-4”?谢谢!

【问题讨论】:

    标签: matplotlib


    【解决方案1】:

    您想将offset_text 的字体大小从yaxis 更改为。你可以用这一行来做到这一点:

    ax.yaxis.get_offset_text().set_fontsize(24)
    

    或等效:

    ax.yaxis.offsetText.set_fontsize(24)
    

    【讨论】:

    • 非常感谢!顺便说一句,如何将“1e-4”更改为“x1e-4”?
    • 不确定,抱歉。您可能想问一个新问题,希望知道的人会看到它。如果您将text.usetex rcParams 设置为True,我认为它会更改为x10^-4,如果这对您有帮助的话。
    【解决方案2】:

    我使用 ax.yaxis.set_major_formatter(ScalarFormatter(useMathText=True)) 将 1e-4 更改为 x10^-4

    【讨论】:

    • 一个小说明:在ticklabel_format之前调用set_major_formatter,否则可能会将tick恢复为十进制。
    猜你喜欢
    • 1970-01-01
    • 2017-10-07
    • 2014-02-26
    • 2018-03-25
    • 2014-04-29
    • 2011-04-23
    • 2014-11-16
    • 1970-01-01
    相关资源
    最近更新 更多