Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib yaxis range display using absolute values rather than offset values?

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

like image 258
David Poole Avatar asked Feb 16 '12 00:02

David Poole


People also ask

How do you limit the range of values on each of the axes Matplotlib?

Import matplotlib. To set x-axis scale to log, use xscale() function and pass log to it. To plot the graph, use plot() function. To set the limits of the x-axis, use xlim() function and pass max and min value to it. To set the limits of the y-axis, use ylim() function and pass top and bottom value to it.

Is PLT show () necessary?

Plotting from an IPython shell Using plt. show() in Matplotlib mode is not required.

How do I reduce y-axis range in Matplotlib?

To set the y-axis limit, we use axis() method and we set xmin and xmax to None and ymin and ymax to -0.75 and 1.5 respectively. To display the plot, use plot() function.


1 Answers

set useOffset to False:

ax = plt.gca() ax.ticklabel_format(useOffset=False) 
like image 58
HYRY Avatar answered Oct 11 '22 21:10

HYRY