Управление отображением графики

Чем можно управлять

MATLAB® позволяет многим окнам рисунка быть открытыми одновременно во время сеанса. Можно управлять который фигуры и который оси использование MATLAB, чтобы отобразить результат функций построения графика. Можно также управлять, до какой степени MATLAB очищает и сбрасывает свойства целенаправленных фигур и осей.

Можно изменить способ, которым ведут себя функции построения графика MATLAB, и можно реализовать определенные поведения в функциях построения графика, которые вы пишете.

Рассмотрите эти аспекты:

  • Можно ли препятствовать тому, чтобы определенная фигура или оси стали целью для отображения графиков?

  • Что происходит с существующим графиком, когда вы отображаете больше данных на графике к тому графику? Существующий график заменяется, или новые графические объекты добавляются к существующему графику?

Обращение к определенным фигурам и осям

По умолчанию функции построения графика MATLAB отображают графики в текущей фигуре и текущей системе координат (объекты, возвращенные gcf и gca соответственно). Можно направить выход к другой фигуре и осям:

  • Явным образом задавая целевые оси с функцией построения графика.

  • Делание целевых осей текущие оси.

Определение целевых осей

Предположим, что вы создаете фигуру с двумя осями, ax1 и ax2.

tiledlayout(1,2)
ax1 = nexttile;
ax2 = nexttile;

Вызвать plot с объектом осей в качестве первого аргумента:

plot(ax1,1:10)

Для функций построения графика, которые не поддерживают оси первый аргумент, установите Parent свойство:

t = 0:pi/5:2*pi;
patch(sin(t),cos(t),'y','Parent',ax2)

Создание целевого тока

Чтобы задать цель, можно сделать фигуру текущей фигурой и оси на том рисунке текущая система координат. Функции построения графика используют текущую фигуру и ее текущую систему координат по умолчанию. Если текущая фигура не имеет никакой текущей системы координат, MATLAB создает тот.

Если fig указатель на фигуру, затем оператор

figure(fig)
  • Делает fig текущая фигура.

  • Перестеки fig быть передней больше всего отображенной фигурой.

  • Делает fig видимый, если это не было (устанавливает Visible свойство к 'on').

  • Обновляет отображение фигуры и процессы любые незаконченные коллбэки.

То же поведение применяется к осям. Если ax указатель на оси, затем оператор

axes(ax)
  • Делает ax текущая система координат.

  • Перестеки ax быть передними больше всего отображенными осями.

  • Делает ax видимый, если это не было.

  • Обновляет фигуру, содержащую оси и процесс любые незаконченные коллбэки.

Создание фигуры или осей текущими, не изменяя другое состояние

Можно сделать фигуру или оси текущими, не вызывая изменение в других аспектах объектного состояния. Установите корневой CurrentFigure свойство или объект фигуры CurrentAxes свойство к указателю фигуры или осей, для которых вы хотите предназначаться.

Если fig указатель на существующую фигуру, оператор

r = groot;
r.CurrentFigure = fig;

делает fig текущая фигура. Точно так же, если ax указатель объекта осей, оператора

fig.CurrentAxes = ax;

делает его текущими осями, если fig указатель родительской фигуры осей.