32

I have the following range of numpy data (deltas of usec timestamps):

array([ 4.312,  4.317,  4.316,  4.32 ,  4.316,  4.316,  4.319,  4.317,
    4.317,  4.316,  4.318,  4.316,  4.318,  4.316,  4.318,  4.317,
    4.317,  4.317,  4.316,  4.317,  4.318,  4.316,  4.318,  4.316,
    4.318,  4.316,  4.317,  4.317,  4.318,  4.316,  4.317,  4.317,
    4.317,  4.317,  4.317,  4.316,  4.319,  4.315,  4.319,  4.315,
    4.319,  4.315,  4.316,  4.319,  4.317,  4.317,  4.317,  4.318,
    4.315,  4.317,  4.317,  4.317,  4.319,  4.314,  4.32 ,  4.315,
    4.317,  4.318,  4.315,  4.318,  4.317,  4.317,  4.317,  4.316,
    4.317,  4.318,  4.317,  4.317,  4.317,  4.315,  4.319,  4.317,
    4.315,  4.319,  4.316,  4.318,  4.318,  4.315,  4.318,  4.317,
    4.317,  4.321])

When I plot with matplotlib.pyplot:

 import matplotlib.pyplot as plt
 plt.plot( deltas ) 
 plt.show()

I get the following plot. Why is the Y-axis being scaled that way? How can I get the Y-axis to be labeled as the data, not an offset of the data? Sometimes the plot is the "+4.nnn" sometimes it isn't (depending on the data range?).

Plotted "strangely":
Plotted Badly

Plotted "correctly":
Plotted Correctly

3 Answers 3

48

set useOffset to False:

ax = plt.gca()
ax.ticklabel_format(useOffset=False)
Sign up to request clarification or add additional context in comments.

2 Comments

This doesn't work for me anymore in MPL 1.3.0. It says that this now only works with a ScalarFormatter. So the short answer in here solved it for me: stackoverflow.com/questions/3677368/…
ax.get_yaxis().get_major_formatter().set_useOffset(False)
11

This answer suggested disabling the offset as a global setting, which worked for me:

matplotlib.rcParams['axes.formatter.useoffset'] = False

1 Comment

I like this option. I have come across very few instances where I would like to make use of the offset setting.
9

You can also use

ax = plt.gca()
ax.set_yticklabels(ax.get_yticks())

Although I like @HYRY's answer better.

1 Comment

This answer may easily lead to completely wrong outcomes. Never set the labels without fixing the positions as well!! Better use any of the other answers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.