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