首页 > 解决方案 > Matplotlib 对数刻度刻度格式

问题描述

我正在制作一个 y 轴从 0.02 到 0.1 的对数图。我的 y 轴上的所有刻度线都显示为:2x10^{-2}、3x10^{-2} ... 0.1。我希望它们为 0.02、0.03 ... 0.1。我从相关帖子中尝试了很多东西:Matplotlib log scale tick label number formatting。但是我无法让它工作。我有类似的东西:

 ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda y, _: '{:g}'.format(y))))

根据之前的帖子,这显然解决了这个问题。但对我不起作用。

标签: pythonmatplotlib

解决方案


我认为您应该在短轴和长轴上设置格式化程序。
请试试这个:

 ax.yaxis.set_minor_formatter(ticker.FuncFormatter(lambda y, _: '{:g}'.format(y))))

推荐阅读