When plotting against a range of large numbers, Matplotlib introduces a relative shift for tick marks. This can be observed when the data spans orders of magnitude, resulting in ticks like 0.0 0.5 1.0 1.5 2.0n 1e3.
To avoid this shift and display absolute values for the tick marks, the following steps can be taken:
<code class="python">plot([1000, 1001, 1002], [1, 2, 3]) gca().get_xaxis().get_major_formatter().set_useOffset(False) draw()</code>
This involves accessing the current axes object, then retrieving the x-axis object and its major formatter object. By setting useOffset to False, the relative shift is disabled, resulting in absolute tick values: 1000.0 1000.5 1001.0 1001.5 1002.0.
In newer versions of Matplotlib (1.4 ), the default behavior can be modified through the axes.formatter.useoffset rcparam. This eliminates the need for explicit code to adjust the settings.
The above is the detailed content of How to Remove Relative Shift in Matplotlib Axis Tick Marks?. For more information, please follow other related articles on the PHP Chinese website!