我有一个图表,其数据的比例差异很大。为了保持轴线的清晰,我强制使用科学计数法,以防数字超出图表范围。为此,我使用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设置,因此我认为只能使用一个Formatter。
我希望绘图始终如此:刻度标签始终限制为1个小数