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])

Примечание

Установка этого свойства не оказывает влияния, когда родительским контейнером является TiledChartLayout.

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

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', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

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

Текст для легенды помечает в виде массива ячеек из символьных векторов, массива строк или категориального массива. Чтобы включать специальные символы или греческие буквы в метках, используйте синтаксис TeX. Для таблицы опций смотрите Interpreter свойство.

Заголовок легенды, возвращенный как объект текста легенды. Чтобы добавить заголовок легенды, установите 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, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст.

Модификаторы остаются в силе до конца текста. Верхние индексы и индексы являются исключением, потому что они изменяют только следующий символ или символы в фигурных скобках. Когда вы устанавливаете интерпретатор на '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Пурпурный, blue, black, whiteсерый, darkGreen, orange, или lightBlue.'\color{magenta} text'
\color[rgb]{specifier}Цвет пользовательского шрифта — Замена specifier с трехэлементным триплетом RGB.'\color[rgb]{0,0.5,0.5} text'

Эта таблица приводит поддерживаемые специальные символы для '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, установите интерпретатор на 'latex'. Используйте долларовые символы вокруг текста, например, используйте '$\int_1^{20} x^2 dx$' для встроенного режима или '$$\int_1^{20} x^2 dx$$' для режима отображения.

Отображаемый текст использует стиль шрифта LaTeX по умолчанию. FontNameFontWeight , и 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', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

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

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

Пример: 1.5

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

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

Состояние видимости в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Отобразите объект.

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

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

Примечание

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

Состояние выбора в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно истине и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

Отображение маркеров выделения, когда выбрано в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно истине и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

Коллбэки

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

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

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

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

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

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

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

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

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

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

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

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

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

SourceLegend объект.
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 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство на существующем компоненте не оказывает влияния.

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

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

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

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

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

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

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

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

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

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

Прерывание коллбэка в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно истине и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Это свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:

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

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

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

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураФигура пользовательского интерфейсаgetframewaitfor, или pause команда.

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

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

  • Значение 'off' блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

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

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

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

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

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

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

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

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

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

Ответ на захватил клики мыши в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно истине и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

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

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

Примечание

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

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

Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

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

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

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

Родительский контейнер в виде Figure объект, Panel объект, Tab объект или TiledChartLayout объект.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вопросы совместимости

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

Не рекомендуемый запуск в R2020a

Введенный в R2014b