If you are using MATLAB R2015b or a later release, please refer to the following MATLAB Answers post:
In MATLAB R2015a and earlier releases, you can use the following method.
1. Plot your data.
>> x = rand(100, 1);
>> y = 1e-3*x;
>> plot(x, y)
2. Get a handle to the current figure and axes:
>> hFig = gcf
>> hAxes = gca
3. Define a function that reformats the tick labels as follows:
XTickLabel = get(hAxes,'XTick');
YTickLabel = get(hAxes,'YTick');
where "hAxes" is the axes handle.
4. Call this function to format your tick labels, before zooming.
5. Get the handle to the zoom mode object of the figure:
7. Set the "ActionPostCallback" function on the zoom handle to the function "reformatTickLabels". This means that after you perform a zooming action, this callback function will be called and executed. In this way, the tick labels will stay in non-scientific format even after zoom events.
where "zoomReformatLabels" is defined as
where "obj" is the handle to the figure that has been clicked on and "evd" is the object containing the structure of event data.
More information on the zoom callback functions can be found here: