25

当我尝试针对具有足够大数字的范围进行绘图时,我得到一个轴,所有刻度都具有相对偏移。例如:

plot([1000, 1001, 1002], [1, 2, 3])

我在横坐标轴上得到这些刻度:

0.0     0.5     1.0     1.5     2.0
                               +1e3

问题是如何删除+1e3并获得公正:

1000.0  1000.5  1001.0  1001.5  1002.0
4

2 回答 2

29
plot([1000, 1001, 1002], [1, 2, 3])
gca().get_xaxis().get_major_formatter().set_useOffset(False)
draw()

这将获取 current axes,获取 x 轴axis对象,然后获取主要格式化程序对象并将 useOffset 设置为 false ( doc )。

在 matplotlib 的较新版本(1.4+)中,可以通过axes.formatter.useoffsetrcparam 更改默认行为。

于 2012-08-08T05:18:19.907 回答
3

要在任何地方禁用相对移位,请设置 rc 参数:

import matplotlib
matplotlib.rc('axes.formatter', useoffset=False)
于 2017-02-15T16:00:17.547 回答