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