我有一个图可以接受规模差异很大的数据。为了保持轴干净,我强制使用科学记数法,这样数字就不会偏离数字。为此,我正在使用 ScalarFormatter 并像这样调整 ticklabel_format:
ax.yaxis.set_major_formatter(ScalarFormatter(useMathText=True, useOffset=False))
ax.ticklabel_format(style='sci', scilimits=(0,0), axis='both')
科学记数法完全按照我想要的方式绘制,但有时会显示太多小数点。 y 轴刻度标签被剪裁
我在这里发现了一个类似的问题:在 matplotlib 图的轴上显示小数位和科学记数法
但我不希望像在接受的解决方案中那样在每个标签上显示指数因子。此外,FormatStrFormatter 会覆盖我之前的 ScalarFormatter 设置,所以我认为只能使用 1 个 Formatter。
我想要一个总是看起来像这样的图:其中刻度标签总是限制为 1 个小数