Подготовка фигур и осей для графиков

Поведение функций построения графика MATLAB

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

  • Удаление графических объектов из осей.

  • Устанавливает для большинства свойств осей значения по умолчанию.

  • Вычисляет пределы новых осей на основе новых данных.

Когда функция построения графика создает граф, функция может:

  • Создайте рисунок и оси для графика и установите необходимые свойства для конкретного графика (поведение по умолчанию, если текущая фигура не существует)

  • Повторно используйте существующий рисунок и оси, очищая и сбрасывая свойства осей по мере необходимости (поведение по умолчанию, если график существует)

  • Добавьте новые объекты данных к существующему графику без сброса свойств (если hold является on)

The NextPlot рисунки и оси управляют поведением функций построения графика MATLAB.

Как свойства NextPlot управляют поведением

Функции построения графика MATLAB зависят от значений рисунка и осей NextPlot свойства, чтобы определить, добавлять, очищать или удалять и сбрасывать рисунок и оси перед рисованием нового графика. Низкоуровневые функции создания объектов не проверяют NextPlot свойства. Они просто добавляют новые графические объекты к текущей фигуре и осям.

В этой таблице приведены возможные значения для NextPlot свойства.

NextPlot

Фигура

Оси

new

Создает новый рисунок и использует ее как текущая фигура.

Не является опцией для осей.

add

Добавление новых графических объектов без очистки или сброса текущей фигуры. (По умолчанию)

Добавление новых графических объектов без очистки или сброса текущей системы координат.

replacechildren

Удаляет все объекты осей, указатели которых не скрыты перед добавлением новых объектов. Не сбрасывает свойства рисунка. Эквивалентно clf.

Удаляет все дочерние объекты осей, указатели на которых не скрыты перед добавлением новых графических объектов. Не сбрасывает свойства осей. Эквивалентно cla.

replace

Удаляет все объекты осей и сбрасывает свойства рисунка по умолчанию перед добавлением новых объектов. Эквивалентно clf reset.

Удаляет все дочерние объекты и сбрасывает свойства осей по умолчанию перед добавлением новых объектов. Эквивалентно cla reset. (По умолчанию)

Функции построения графика вызывают newplot функция для получения указателя на соответствующие оси.

Сценарий по умолчанию

Рассмотрим ситуацию по умолчанию, когда рисунок NextPlot свойство add и осей NextPlot свойство replace. Когда вы звоните newplot, оно:

  1. Проверяет значение текущей фигуры NextPlot свойство (которое есть, add).

  2. Определяет, что MATLAB может использовать текущую фигуру, не изменяя рисунок. Если текущей фигуры нет, newplot создает один, но не перепроверяет его NextPlot свойство.

  3. Проверяет значение текущих систем координат NextPlot свойство (которое есть, replace), удаляет все графические объекты из осей, сбрасывает все свойства осей (кроме Position и Units) к их значениям по умолчанию и возвращает указатель на текущую систему координат. Если нет текущей оси, newplot создает один, но не перепроверяет его NextPlot свойство.

  4. Удаляет все графические объекты из осей, сбрасывает все свойства осей (кроме Position и Units) к их значениям по умолчанию и возвращает указатель на текущую систему координат. Если нет текущей оси, newplot создает один, но не перепроверяет его NextPlot свойство.

Hold Function и свойства NextPlot

hold функция обеспечивает удобный доступ к NextPlot свойства. Когда необходимо добавить объекты в график, не удаляя другие объекты или сбрасывая свойства, используйте hold on:

  • hold on - Устанавливает рисунок и оси NextPlot свойства для add. Линейные графики продолжают циклически просматривать ColorOrder и LineStyleOrder значения свойств.

  • hold off - Устанавливает оси NextPlot свойство к replace

Используйте ishold для определения, hold является on или off.

Управление поведением пользовательских функций построения графика

MATLAB обеспечивает newplot функция для упрощения записи функций построения графика, соответствующих настройкам NextPlot свойства.

newplot проверяет значения NextPlot Свойства и выполняют соответствующее действие на основе этих значений. Размещение newplot в начале любой функции, которая вызывает функции создания объектов.

Когда ваша функция вызывает newplot, newplot сначала запрашивает рисунок NextPlot свойство. На основе значений свойств newplot затем выполняет действие, описанное в следующей таблице, на основе значения свойства.

Значение свойства Figure NextPlotфункция newplot

Никаких рисунков не существует

Создает рисунок и делает этот рисунок текущей фигурой.

add

Делает рисунок текущей фигурой.

new

Создает новый рисунок и делает ее текущей фигурой.

replacechildren

Удаляет рисунок дочерние элементы (объекты осей и их потомки) и делает этот рисунок текущую фигуру.

replace

Удаляет дочерние элементы рисунка, сбрасывает свойства рисунка по умолчанию и делает этот рисунок текущей фигурой.

Затем newplot проверяет текущие системы координат NextPlot свойство. На основе значения свойства newplot выполняет действие, описанное в следующей таблице.

Значение свойства Axes NextPlotфункция newplot

Нет осей в текущей фигуре

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

add

Делает оси текущей системой координат и возвращает ее указатель.

replacechildren

Удаляет дочерние элементы осей и делает это осью текущих систем координат.

replace

Удаляет дочерние элементы осей, сбрасывает свойства осей по умолчанию и делает это осью текущих систем координат.