MATLAB: Gca.XLimMode does not work

xlimmode ylimmode manual auto

Hi. I am using ginput to select some points and plot the points like this:
fig = figure;
ha1 = axes;
ha1.Position = [0.5 0.5 0.3 0.3]
ha1.XLim = [-10 -5];
ha1.YLim = [-5 -1];
set(ha1,'xlimMode','manual');
set(ha1,'ylimMode','manual');
[x,y] = ginput;
plot(x,y);
But every time the points are plotted, the xlim and ylim of the axes are changed automatically. And the ha1.XLimMode and ha1.YLimMode are changed to 'auto' somehow.
Anybody any ideas about this?
Best,
Shizhu

Best Answer

If you check the xLimMode after running your code, you will see that it has changed back to auto after the plot() statement. You need to hold() the axis to stop it from changing automatically.
fig = figure;
ha1 = axes;
ha1.Position = [0.5 0.5 0.3 0.3]
ha1.XLim = [-10 -5];
ha1.YLim = [-5 -1];
set(ha1,'xlimMode','manual');
set(ha1,'ylimMode','manual');
[x,y] = ginput;
hold(ha1); %<--- this line will prevent automatic changes.
plot(x,y);