How to remove relative shift in matplotlib axis
When I try to do a plot against a range with big enough numbers I get an axis with relative shift for all the ticks. For example:
plot([1000, 1001, 1002], [1, 2, 3])
I get these ticks on axis of abscissas:
0.0 0.5 1.0 1.5 2.0
+1e3
The question is how to remove +1e3
and get just:
1000.0 1000.5 1001.0 1001.5 1002.0
plot([1000, 1001, 1002], [1, 2, 3])
gca().get_xaxis().get_major_formatter().set_useOffset(False)
draw()
This grabs the current axes
, gets the x-axis axis
object and then the major formatter object and sets useOffset to false (doc).
In newer versions (1.4+) of matplotlib the default behavior can be changed via the axes.formatter.useoffset
rcparam.
To disable relative shift everywhere, set the rc parameter:
import matplotlib
matplotlib.rc('axes.formatter', useoffset=False)