Чтобы ответить на ваш первый вопрос, установка limit-mode обратно на авто должна работать. Вот пример, чтобы показать:
plot(rand(10,1))
set(gca, 'XLim',[1 10], 'YLim',[0 1], ...
'XLimMode','manual', 'YLimMode','manual')
uicontrol('Style','pushbutton', 'String','auto', ...
'Callback','set(gca, ''XLimMode'',''auto'', ''YLimMode'',''auto'')')
Если мы строим что-то за пределами текущегодиапазон (до нажатия кнопки), оси не будут масштабироваться для отображения новых данных.
hold on
plot(30:49, rand(20,1)*5)
hold off
Если вы нажмете кнопку, ось будет автоматически отрегулирована (на основе свойств XData / YData).