如何消除matplotlib轴的相对位移

时间:2012-08-07 23:06:01

标签: python matplotlib axis

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

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

2 个答案:

答案 0 :(得分:28)

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

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

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

答案 1 :(得分:3)

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

import matplotlib
matplotlib.rc('axes.formatter', useoffset=False)