Legend Properties

Внешний вид и поведение легенды

Свойства Legend управляют внешним видом и поведением объекта Legend. Путем изменения значений свойств можно изменить определенные аспекты легенды. Используйте запись через точку для ссылки на конкретный объект и свойство:

plot(rand(3))
lgd = legend('a','b','c');
c = lgd.TextColor;
lgd.TextColor = 'red';

Положение и размещение

развернуть все

Местоположение относительно осей, заданных как одно из значений местоположения, перечислено в этой таблице.

ЗначениеОписание
'north'В верхней части осей
'south'В нижней части осей
'east'В праве на оси
'west'Внутри оставленный осей
'northeast'Внутри верхний правый из осей (значение по умолчанию для 2D осей)
'northwest'Внутри верхний левый из осей
'southeast'В нижней правой части осей
'southwest'В нижней левой части осей
'northoutside'Выше осей
'southoutside'Ниже осей
'eastoutside'Справа от осей
'westoutside'Слева от осей
'northeastoutside'Вне верхнего правого угла осей (значение по умолчанию для 3-D осей)
'northwestoutside'Вне верхнего левого угла осей
'southeastoutside'Вне нижнего правого угла осей
'southwestoutside'Вне нижнего левого угла осей
'best'В осях, где наименьшее количество конфликта с данными в графике
'bestoutside'Вне верхнего правого угла осей (когда легенда имеет вертикальную ориентацию) или ниже осей (когда легенда имеет горизонтальную ориентацию),
'none'Определенный свойством Position. Используйте свойство Position задать пользовательское местоположение.

Пример: legend('Location','northeastoutside')

Ориентация, заданная как одно из этих значений:

  • 'vertical' — Сложите элементы легенды вертикально. Если легенда имеет несколько столбцов, размещение элементы сверху донизу вдоль каждого столбца.

  • 'horizontal' — Перечислите элементы легенды бок о бок. Если легенда имеет несколько столбцов, размещение элементы слева направо вдоль каждой строки.

Пример: legend('Orientation','horizontal')

Количество столбцов, заданных как положительное целое число. Если существует недостаточно элементов легенды, чтобы заполнить конкретное количество столбцов, то количество столбцов, которые появляются, может быть меньше.

Используйте свойство Orientation управлять, появляются ли элементы легенды по порядку вдоль каждого столбца или вдоль каждой строки.

Пример: lgd.NumColumns = 3

Режим выбора для значения NumColumns, заданного как одно из этих значений:

  • 'auto' Автоматически выберите значение.

  • 'manual' — Используйте вручную заданное значение. Чтобы задать значение, установите свойство NumColumns.

Пользовательское местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]. Первые два значения, left и bottom, задают расстояние от левого нижнего угла фигуры к левому нижнему углу легенды. Последние два значения, width и height, задают размерности легенды. Свойство Units определяет модули положения.

Если вы задаете свойство Position, то MATLAB® автоматически изменяет свойство Location на 'none'.

Пример: legend({'A','B'},'Position',[0.2 0.6 0.1 0.2])

Модули положения, заданные как одно из значений в этой таблице.

UnitsОписание
'normalized' (значение по умолчанию)Нормированный относительно контейнера, который обычно является фигурой. Нижний левый угол фигуры сопоставляет с (0,0), и верхний правый угол сопоставляет с (1,1). Изменение размеров фигуры обновляет значения вектора Position.
'inches''inches'.
'centimeters''centimeters'.
'characters'

На основе размера символа системного шрифта по умолчанию.

  • Ширина символов = ширина буквы x.

  • Высота символа = расстояние между базовыми линиями двух строк текста.

'points''points'. Один пункт равен 1/72 дюйма.
'pixels'

'pixels'.

Начиная с версии R2015b, значения размеров в пикселях не зависят от вашего системного разрешения в системах Windows® и Macintosh.

  • В системах Windows пиксель составляет 1/72 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

  • В системах Linux® размер пикселя определяется вашим системным разрешением.

Все модули измеряются от нижнего левого угла контейнерного окна.

Это свойство влияет на свойство Position. Если вы изменяете модули, то это - хорошая практика, чтобы возвратить его в ее значение по умолчанию после завершения вашего вычисления, чтобы предотвратить влияние на другие функции, которые принимают, что Units является значением по умолчанию.

Если вы задаете свойства Position и Units как пары Name,Value при создании объекта, то порядок вопросов спецификации. Если вы хотите задать положение с конкретными модулями, то необходимо установить свойство Units перед свойством Position.

Метки

развернуть все

Автоматическое обновление элементов легенды, чтобы отразить текущее состояние осей, заданных как одно из этих значений:

  • 'on' — Автоматически добавьте элементы легенды для новых графических объектов, добавленных к осям. Удалите элементы легенды для графических объектов, удаленных из осей.

  • 'off' Автоматически не добавляйте или удаляйте элементы легенды.

Пример: legend({'A','B'},'AutoUpdate','off')

Текст для меток легенды, заданных как массив ячеек из символьных векторов или массив строк.

Заголовок легенды, возвращенный как объект текста легенды. Чтобы добавить заголовок легенды, установите свойство String объекта текста легенды. Чтобы изменить внешний вид заголовка, такой как стиль шрифта или цвет, устанавливают свойства текста легенды. Для списка смотрите Text Properties.

plot(rand(3));
lgd = legend('line 1','line 2','line 3');
lgd.Title.String = 'My Legend Title';
lgd.Title.FontSize = 12;

Также используйте функцию title, чтобы добавить заголовок и управлять внешним видом.

plot(rand(3));
lgd = legend('line 1','line 2','line 3');
title(lgd,'My Legend Title','FontSize',12)

Интерпретация текстовых символов, заданных как одно из этих значений:

  • 'tex' — Интерпретируйте символы с помощью подмножества разметки TeX.

  • 'latex' — Интерпретируйте символы, использующие разметку LATEX.

  • 'none' Отобразите буквенные символы.

TeX Markup

По умолчанию MATLAB поддерживает подмножество разметки TeX. Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст.

Модификаторы остаются в силе до конца текста. Верхние индексы и индексы являются исключением, потому что они изменяют только следующий символ или символы в фигурных скобках. Когда вы устанавливаете свойство Interpreter на 'tex', поддерживаемые модификаторы следующие.

МодификаторОписаниеПример
^{ }Верхний индекс'text^{superscript}'
_{ }Индекс'text_{subscript}'
\bfBold font'\bf text'
\itКурсивный шрифт'\it text'
\slНаклонный шрифт (обычно то же самое как курсивный шрифт)'\sl text'
\rmОбычный шрифт'\rm text'
\fontname{specifier}Название шрифта — Замена specifier с именем семейства шрифтов. Можно использовать это в сочетании с другими модификаторами.'\fontname{Courier} text'
\fontsize{specifier}Размер шрифта — Замена specifier со значением числового скаляра в модулях точки.'\fontsize{15} text'
\color{specifier}Цвет шрифта — Замена specifier с одним из этих цветов: red, green, yellow, magenta, blue, black, white, gray, darkGreen, orange или lightBlue.'\color{magenta} text'
\color[rgb]{specifier}Цвет пользовательского шрифта — Замена specifier с трехэлементным триплетом RGB.'\color[rgb]{0,0.5,0.5} text'

В этой таблице перечислены поддерживаемые специальные символы со свойством Interpreter, установленным на 'tex'.

Последовательность символовСимволПоследовательность символовСимволПоследовательность символовСимвол

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

Разметка LaTeX

Чтобы использовать разметку LATEX, установите свойство Interpreter на 'latex'. Используйте долларовые символы вокруг текста, например, используйте '$\int_1^{20} x^2 dx$' для встроенного режима или '$$\int_1^{20} x^2 dx$$' для режима отображения.

Отображаемый текст использует стиль шрифта LATEX по умолчанию. FontName, FontWeight и свойства FontAngle не имеют эффекта. Чтобы изменить стиль шрифта, используйте разметку LATEX.

Максимальный размер текста, который можно использовать с интерпретатором LATEX, является 1 200 символами. Для многострочного текста это уменьшает приблизительно на 10 символов на строку.

Для получения дополнительной информации о системе LATEX, смотрите веб-сайт Проекта LATEX по https://www.latex-project.org/.

Шрифт

развернуть все

Название шрифта, заданное как поддерживаемое название шрифта или 'FixedWidth'. Чтобы отобразить и распечатать текст правильно, необходимо выбрать шрифт, который поддерживает система. Стандартный шрифт зависит от вашей операционной системы и локали.

Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, используйте 'FixedWidth'. Шрифт фиксированной ширины полагается на корневое свойство FixedWidthFontName. Установка корневого свойства FixedWidthFontName заставляет незамедлительное обновление отображения использовать новый шрифт.

Размер шрифта, заданный как скалярное значение, больше, чем нуль в модулях точки. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.

Если вы изменяете размер шрифта осей, то MATLAB автоматически устанавливает размер шрифта шкалы палитры к 90% размера шрифта осей. Если вы вручную устанавливаете размер шрифта шкалы палитры, то изменение размера шрифта осей не влияет на шрифт шкалы палитры.

Символьная толщина, заданная как 'normal' или 'bold'.

MATLAB использует свойство FontWeight выбрать шрифт от доступных в вашей системе. Не все шрифты имеют полужирный вес. Поэтому определение полужирной толщины шрифта может все еще привести к обычной толщине шрифта.

Наклонные символы, заданные как 'normal' или 'italic'.

Не все шрифты имеют оба стилей шрифтов. Поэтому курсивный шрифт может выглядеть одинаково как обычный шрифт.

Цвет и моделирование

развернуть все

Цвет текста, заданный как триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Цвет по умолчанию является черным со значением [0 0 0].

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: [0 0 1]

Пример: 'blue'

Пример: '#0000FF'

Цвет фона, заданный как триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Значение по умолчанию [1 1 1] соответствует белый.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: legend({'A','B'},'Color','y')

Пример: legend({'A','B'},'Color',[0.8 0.8 1])

Пример: legend({'A','B'},'Color','#D9A2E9')

Цвет контура поля, заданный как триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Значение по умолчанию [0.15 0.15 0.15] соответствует темно-серый.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: legend({'A','B'},'EdgeColor',[0 1 0])

Отображение схемы поля, заданной как одно из этих значений:

  • 'on' — Отобразите поле вокруг легенды.

  • 'off' Не отображайте поле вокруг легенды.

Пример: legend({'A','B'},'Box','off')

Ширина схемы поля, заданной как положительное значение в модулях точки. Один пункт равен 1/72 дюйма.

Пример: 1.5

Интерактивность

развернуть все

Состояние видимости, заданное в качестве одного из следующих значений:

  • 'on' — Отображать объект.

  • 'off' — Скрыть объект, не удаляя его. Вы по-прежнему можете получать доступ к свойствам невидимого объекта.

Контекстное меню, заданное как объект ContextMenu. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по объекту. Создайте контекстное меню с помощью функции uicontextmenu.

Примечание

Если для свойства PickableParts задано значение 'none', или если для свойства HitTest установлено значение 'off', контекстное меню не отображается.

Состояние выбора, заданное как одно из следующих значений:

  • 'on' — Выбран. Если вы кликаете на объект, находясь в режиме редактирования графика, MATLAB устанавливает для свойства Selected значение 'on'. Если для свойства SelectionHighlight задано значение 'on', MATLAB отображает маркеры выделения вокруг объекта.

  • off' — Не выбран.

Отображение маркеров выделения, заданное как одно из следующих значений:

  • 'on' — Отображать маркеры выделения, если для свойства Selected задано значение 'on'.

  • 'off' — Никогда не отображать маркеры выделения, даже если для свойства Selected задано значение 'on'.

Коллбэки

развернуть все

Коллбэк, который выполняется, когда вы кликаете по элементам легенды, заданным как одно из этих значений:

  • Указатель на функцию. Например, @myCallback.

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы. Например, {@myCallback,arg3}.

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется).

Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает объект Legend и структуру данных о событиях как первые и вторые входные параметры к функции. Эта таблица описывает поля в конечном счете структура данных.

Поля структуры данных о событиях

Поле Описание
PeerОбъект диаграммы сопоставлен с элементом легенды, по которому кликают.
RegionОбласть элемента легенды, по которому кликают, возвратилась или как 'icon' или как 'label'.
SelectionType

Тип нажатия кнопки, возвращенного как одно из этих значений:

  • 'normal' — Левая кнопка мыши нажатия кнопки

  • 'extend'Shift + левая кнопка мыши нажатия кнопки

  • открытый Дважды кликните любую кнопку мыши

  • 'alt' — Правая кнопка мыши нажатия кнопки, обе кнопки мыши (Windows и Mac), или средняя кнопка мыши (Mac и Linux). Если свойство UIContextMenu содержит допустимое контекстное меню (который является значением по умолчанию), то этот тип нажатия кнопки открывает контекстное меню вместо того, чтобы инициировать коллбэк ItemHitFcn.

SourceОбъект легенды.
EventNameИмя события, 'ItemHit'.

Примечание

Если вы устанавливаете свойство ButtonDownFcn, то свойство ItemHitFcn отключено.

Пример

Можно создать интерактивные легенды так, чтобы, когда вы кликаете по элементу в легенде, связанные обновления графика в некотором роде. Например, можно переключить видимость графика или изменить его ширину линии. Установите свойство ItemHitFcn легенды к функции обратного вызова, которая управляет, как графики изменяются. Этот пример показывает, как переключить видимость графика, когда вы кликаете по значку графика или метке в легенде. Это создает функцию обратного вызова, которая изменяет свойство Visible графика или к 'on' или к 'off'.

Скопируйте следующий код в новый файл функции и сохраните его как hitcallback_ex1.m или в текущей папке или в папке на пути поиска файлов MATLAB. Эти два входных параметра, src и evnt, являются объектом легенды и структурой данных о событиях. MATLAB автоматически передает эти входные параметры функции обратного вызова, когда вы кликаете по элементу в легенде. Используйте поле Peer структуры данных о событиях, чтобы получить доступ к свойствам объекта диаграммы, сопоставленного с элементом легенды, по которому кликают.

function hitcallback_ex1(src,evnt)

if strcmp(evnt.Peer.Visible,'on')
    evnt.Peer.Visible = 'off';
else 
    evnt.Peer.Visible = 'on';
end

end

Затем постройте четыре графика, создайте легенду и присвойте объект легенды переменной. Установите свойство ItemHitFcn объекта легенды к функции обратного вызова. Кликните по элементам в легенде, чтобы показать или скрыть связанный график. Метка легенды изменяется на серый, когда вы скрываете график.

plot(rand(4));
l = legend('Line 1','Line 2','Line 3','Line 4');
l.ItemHitFcn = @hitcallback_ex1;

Обратный вызов по клику мыши, заданный как одно из следующих значений:

  • Указатель на функцию

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

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

Используйте это свойство для выполнения кода при клике по объекту. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента функции обратного вызова при выполнении обратного вызова:

  • Объект, по которому кликают — свойства Access объекта, по которому кликают, из функции обратного вызова.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Дополнительные сведения о том, как использовать указатели на функцию для определения функций обратного вызова, см. в разделе "Определение обратного вызова".

Примечание

Если для свойства PickableParts задано значение 'none', или если для свойства HitTest задано значение 'off', этот обратный вызов не выполняется.

Функция создания объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Определение Коллбэка.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn. Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.

Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.

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

Функция удаления объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Определение Коллбэка.

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

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

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка, заданное как 'off' или 'on'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Рассмотрите эти состояния коллбэка где:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Свойство «Прерывание» имеет два возможных значения:

  • 'off' Рабочий коллбэк не может быть прерван. MATLAB завершает выполнение обратного вызова без каких-либо прерываний. Свойство BusyAction объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.

  • 'on' — Рабочий коллбэк может быть прерван. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, когда у вас есть команда, такая как drawnow, figure, getframe, waitfor или pause.

    • Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

    • Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.

Постановка обратного вызова в очередь задается как 'queue' или 'cancel'. Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • отмена Не выполняет прерывание обратного вызова.

Возможность осуществить захват кликов мыши, заданная как одно из следующих значений:

  • 'visible' — Захватите клики мыши, когда видимый. Свойство Visible должно быть установлено в 'on', и необходимо кликнуть по части объекта Legend, который имеет заданный цвет. Вы не можете кликнуть элемент, у которого значение связанного свойства цвета установлено на 'none'. Свойство HitTest определяет, отвечает ли объект Legend на нажатие кнопки или если предок делает.

  • 'none' — Невозможно захватить клики мыши. Нажатие на объект Legend передает нажатие кнопки объекту ниже его в текущем представлении окна рисунка. Свойство HitTest объекта Legend не имеет никакого эффекта.

Ответ на захваченные клики мыши, заданный как одно из следующих значений:

  • 'on' — Инициируйте коллбэк ButtonDownFcn объекта Legend. Если вы определили свойство UIContextMenu, активируйте контекстное меню.

  • 'off' Инициируйте коллбэки для самого близкого предка объекта Legend, который имеет один из них:

    • Набор свойств HitTest к 'on'

    • Набор свойств PickableParts к значению, которое позволяет предку захватить клики мыши

Примечание

Свойство PickableParts определяет, может ли объект Legend захватить клики мыши. Если это невозможно, свойство HitTest никоим образом на это не влияет.

Это свойство доступно только для чтения.

Удаление статуса, возврат на 'off' или 'on'. MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение. Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.

Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.

Родительский элемент/Дочерний элемент

развернуть все

Родительский элемент, заданный как объект Figure, объект Panel или объект Tab.

Объект Legend должен иметь тот же родительский элемент как связанные оси. Если вы изменяете родительский элемент связанных осей, то объект Legend автоматически обновляет, чтобы использовать тот же родительский элемент.

У объекта нет дочерних элементов. Вы не можете задать это свойство.

Видимость указателя на объект в свойстве Children родителя, заданная как одно из следующих значений:

  • on' — указатель на объект всегда отображается.

  • off' — указатель на объект всегда невидим. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение 'off' в HandleVisibility, чтобы временно скрыть указатель в течение выполнения этой функции.

  • callback' — указатель на объект виден из обратных вызовов или функций, вызываемых обратными вызовами, но не из функций, инициируемых из командной строки. Эта опция блокирует доступ к объекту в командной строке, но разрешает функциям обратного вызова получать доступ к нему.

Если объект не указан в свойстве Children родителя, то функции, которые получают указатели на объекты путем поиска иерархии объектов или запросов свойств указателя, не могут вернуть его. Примеры таких функций включают get, findobj, gca, gcf, gco, newplot, cla, clf и функции close.

Скрытые указатели на объекты все еще действительны. Установите значение корневого свойства ShowHiddenHandles на 'on', чтобы отобразить все указатели на объекты независимо от значения свойства HandleVisibility.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'legend'. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.

Идентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальное значение Tag, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.

Пользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Введенный в R2014b

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