MATLAB сбрасывает положение осей, скопированное из GUIDE

После копирования осей из GUIDE в новую фигуру,

f=figure;
copyobj(handles.axes1,f)

Я обнаружил, что положение оси 1 находится не в том месте. Как сбросить новое положение осей до значения по умолчанию? Это значение скопировано из позиции в GUIDE, которой не должно быть в этом месте на рисунке.

положение фигурных осей


person zahmati    schedule 26.05.2015    source источник
comment
Вы пытались установить свойство оси 'Position'?   -  person patrik    schedule 26.05.2015
comment
@patrik Position зависит от размера пикселя, который зависит от размера моего монитора и размера окна. Я предпочитаю избегать магических чисел. Я хочу получить эти числа автоматически в соответствии с тем, что требуется.   -  person zahmati    schedule 26.05.2015
comment
Что вы имеете в виду под магическими числами? Вы можете установить свойство Units на нормализованное, чтобы нормализовать их относительно окна рисунка. Это должно работать для любого экрана и размера окна.   -  person patrik    schedule 26.05.2015
comment
@patrik Что я должен установить для units?   -  person zahmati    schedule 26.05.2015
comment
Установите свойство Units для осей на нормализованное, set(axes_handle, 'Units', ''normalized');. Затем вы делаете позицию независимой от разрешения экрана.   -  person patrik    schedule 26.05.2015
comment
@готово и спасибо. он работал идеально.   -  person zahmati    schedule 27.05.2015
comment
@zahmati - пожалуйста, добавьте решение, которое сработало для вас, в качестве ответа.   -  person Dev-iL    schedule 28.05.2015


Ответы (1)


Решение использует normalized единиц:

set(gca,'Units','normalized','Position',[0.1 0.1 0.8 0.8])
person zahmati    schedule 29.05.2015