MATLAB® позволяет многим окнам рисунка быть открытыми одновременно во время сеанса. Можно управлять который фигуры и который оси использование MATLAB, чтобы отобразить результат функций построения графика. Можно также управлять, до какой степени MATLAB очищает и сбрасывает свойства целенаправленных фигур и осей.
Можно изменить способ, которым ведут себя функции построения графика MATLAB, и можно реализовать определенные поведения в функциях построения графика, которые вы пишете.
Рассмотрите эти аспекты:
Можно ли препятствовать тому, чтобы определенная фигура или оси стали целью для отображения графиков?
Что происходит с существующим графиком, когда вы отображаете больше данных на графике к тому графику? Существующий график заменяется, или новые графические объекты добавляются к существующему графику?
По умолчанию функции построения графика MATLAB отображают графики в текущей фигуре и текущей системе координат (объекты, возвращенные gcf
и gca
соответственно). Можно направить вывод к другой фигуре и осям:
Явным образом задавая целевые оси с функцией построения графика.
Делание целевых осей текущие оси.
Предположим, что вы создаете фигуру с четырьмя осями и сохраняете указатели в массиве ax
:
for k = 1:4 ax(k) = subplot(2,2,k); end
Вызовите plot
с указателем осей в качестве первого аргумента:
plot(ax(1),1:10)
Для функций построения графика, которые не поддерживают оси первый аргумент, установите свойство Parent
:
t = 0:pi/5:2*pi; patch(sin(t),cos(t),'y','Parent',ax(2))
Чтобы задать цель, можно сделать фигуру текущей фигурой и оси в той фигуре текущая система координат. Функции построения графика используют текущую фигуру и ее текущую систему координат по умолчанию. Если текущая фигура не имеет никакой текущей системы координат, MATLAB создает тот.
Если fig
является указателем на фигуру, то оператор
figure(fig)
Делает fig
текущей фигурой.
Перестеки fig
, чтобы быть отображенной фигурой frontmost.
Делает fig
видимым, если это не было (устанавливает свойство Visible
на on
).
Обновляет отображение фигуры и процессы любые незаконченные коллбэки.
То же поведение применяется к осям. Если ax
является указателем на оси, то оператор
axes(ax)
Делает ax
текущими осями.
Перестеки ax
, чтобы быть frontmost отображенными осями.
Делает ax
видимым, если это не было.
Обновляет фигуру, содержащую оси и процесс любые незаконченные коллбэки.
Можно сделать фигуру или оси текущими, не вызывая изменение в других аспектах объектного состояния. Установите корневое свойство CurrentFigure
или свойство CurrentAxes
объекта фигуры к указателю фигуры или осей, для которых вы хотите предназначаться.
Если fig
является указателем на существующую фигуру, оператор
r = groot; r.CurrentFigure = fig;
делает fig
текущей фигурой. Точно так же, если ax
является указателем объекта осей, оператора
fig.CurrentAxes = ax;
делает его текущими осями, если fig
является указателем родительской фигуры осей.