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

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

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

Была ли эта тема полезной?