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