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 является указателем родительской фигуры осей.