exponenta event banner

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

Поведение функций печати MATLAB

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

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

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

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

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

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

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

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

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 собственность.

свойства функции удержания и 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 затем выполняет действие, описанное в следующей таблице, на основе значения свойства.

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

Цифры не существуют

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

add

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

new

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

replacechildren

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

replace

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

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

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

Оси на текущем рисунке отсутствуют

Создает оси и делает их текущими осями

add

Делает оси текущими осями и возвращает их дескриптор.

replacechildren

Удаляет нижестоящие элементы осей и делает эти оси текущими осями.

replace

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