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