prevent scientific notation in matplotlib.pyplot [duplicate]

In your case, you’re actually wanting to disable the offset. Using scientific notation is a separate setting from showing things in terms of an offset value.

However, ax.ticklabel_format(useOffset=False) should have worked (though you’ve listed it as one of the things that didn’t).

For example:

fig, ax = plt.subplots()

enter image description here

If you want to disable both the offset and scientific notaion, you’d use ax.ticklabel_format(useOffset=False, style="plain").

Difference between “offset” and “scientific notation”

In matplotlib axis formatting, “scientific notation” refers to a multiplier for the numbers show, while the “offset” is a separate term that is added.

Consider this example:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1000, 1001, 100)
y = np.linspace(1e-9, 1e9, 100)

fig, ax = plt.subplots()
ax.plot(x, y)

The x-axis will have an offset (note the + sign) and the y-axis will use scientific notation (as a multiplier — No plus sign).

enter image description here

We can disable either one separately. The most convenient way is the ax.ticklabel_format method (or plt.ticklabel_format).

For example, if we call:


We’ll disable the scientific notation on the y-axis:

enter image description here

And if we call


We’ll disable the offset on the x-axis, but leave the y-axis scientific notation untouched:

enter image description here

Finally, we can disable both through:

ax.ticklabel_format(useOffset=False, style="plain")

enter image description here

Leave a Comment