Внешний вид и поведение легенды
Свойства Legend
управляют внешним видом и поведением объекта Legend
. Путем изменения значений свойств можно изменить определенные аспекты легенды. Используйте запись через точку для ссылки на конкретный объект и свойство:
plot(rand(3)) lgd = legend('a','b','c'); c = lgd.TextColor; lgd.TextColor = 'red';
Местоположение
Местоположение относительно осей'north'
| 'south'
| 'east'
| 'west'
| 'northeast'
|...Местоположение относительно осей, заданных как одно из значений местоположения, перечислено в этой таблице.
Значение | Описание |
---|---|
'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')
Orientation
— Ориентация'vertical'
(значение по умолчанию) | 'horizontal'
Ориентация, заданная как одно из этих значений:
'vertical'
— Сложите элементы легенды вертикально. Если легенда имеет несколько столбцов, размещение элементы сверху донизу вдоль каждого столбца.
'horizontal'
— Перечислите элементы легенды бок о бок. Если легенда имеет несколько столбцов, размещение элементы слева направо вдоль каждой строки.
Пример: legend('Orientation','horizontal')
NumColumns
— Количество столбцов1
(значение по умолчанию) | положительное целое числоКоличество столбцов, заданных как положительное целое число. Если существует недостаточно элементов легенды, чтобы заполнить конкретное количество столбцов, то количество столбцов, которые появляются, может быть меньше.
Используйте свойство Orientation
управлять, появляются ли элементы легенды по порядку вдоль каждого столбца или вдоль каждой строки.
Пример: lgd.NumColumns = 3
NumColumnsMode
— Режим выбора для NumColumns
'auto'
(значение по умолчанию) | 'manual'
Режим выбора для значения NumColumns
, заданного как одно из этих значений:
'auto'
Автоматически выберите значение.
'manual'
— Используйте вручную заданное значение. Чтобы задать значение, установите свойство NumColumns
.
Position
— Пользовательское местоположение и размерПользовательское местоположение и размер, заданный как четырехэлементный вектор формы [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])
Модули
Модули положения'normalized'
(значение по умолчанию) | 'inches'
| 'centimeters'
| 'characters'
| 'points'
| 'pixels'
Модули положения, заданные как одно из значений в этой таблице.
Units | Описание |
---|---|
'normalized' (значение по умолчанию) | Нормированный относительно контейнера, который обычно является фигурой. Нижний левый угол фигуры сопоставляет с (0,0) , и верхний правый угол сопоставляет с (1,1) . Изменение размеров фигуры обновляет значения вектора Position . |
'inches' | 'inches'. |
'centimeters' | 'centimeters'. |
'characters' | На основе размера символа системного шрифта по умолчанию.
|
'points' | 'points'. Один пункт равен 1/72 дюйма. |
'pixels' | 'pixels'. Начиная с версии R2015b, значения размеров в пикселях не зависят от вашего системного разрешения в системах Windows® и Macintosh.
|
Все модули измеряются от нижнего левого угла контейнерного окна.
Это свойство влияет на свойство Position
. Если вы изменяете модули, то это - хорошая практика, чтобы возвратить его в ее значение по умолчанию после завершения вашего вычисления, чтобы предотвратить влияние на другие функции, которые принимают, что Units
является значением по умолчанию.
Если вы задаете свойства Position
и Units
как пары Name,Value
при создании объекта, то порядок вопросов спецификации. Если вы хотите задать положение с конкретными модулями, то необходимо установить свойство Units
перед свойством Position
.
AutoUpdate
Автоматическое обновление элементов легенды'on'
(значение по умолчанию) | 'off'
Автоматическое обновление элементов легенды, чтобы отразить текущее состояние осей, заданных как одно из этих значений:
'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)
Interpreter
— Интерпретация текстовых символов'tex'
(значение по умолчанию) | 'latex'
| 'none'
Интерпретация текстовых символов, заданных как одно из этих значений:
'tex'
— Интерпретируйте символы с помощью подмножества разметки TeX.
'latex'
— Интерпретируйте символы, использующие разметку LATEX.
'none'
Отобразите буквенные символы.
По умолчанию MATLAB поддерживает подмножество разметки TeX. Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст.
Модификаторы остаются в силе до конца текста. Верхние индексы и индексы являются исключением, потому что они изменяют только следующий символ или символы в фигурных скобках. Когда вы устанавливаете свойство Interpreter
на 'tex'
, поддерживаемые модификаторы следующие.
Модификатор | Описание | Пример |
---|---|---|
^{ } | Верхний индекс | 'text^{superscript}' |
_{ } | Индекс | 'text_{subscript}' |
\bf | Bold font | '\bf text' |
\it | Курсивный шрифт | '\it text' |
\sl | Наклонный шрифт (обычно то же самое как курсивный шрифт) | '\sl text' |
\rm | Обычный шрифт | '\rm text' |
| Название шрифта — Замена с именем семейства шрифтов. Можно использовать это в сочетании с другими модификаторами. | '\fontname{Courier} text' |
| Размер шрифта — Замена со значением числового скаляра в модулях точки. | '\fontsize{15} text' |
| Цвет шрифта — Замена с одним из этих цветов: red , green , yellow , magenta , blue , black , white , gray , darkGreen , orange или lightBlue . | '\color{magenta} text' |
\color[rgb]{specifier} | Цвет пользовательского шрифта — Замена с трехэлементным триплетом RGB. | '\color[rgb]{0,0.5,0.5} text' |
В этой таблице перечислены поддерживаемые специальные символы со свойством Interpreter, установленным на 'tex'.
Последовательность символов | Символ | Последовательность символов | Символ | Последовательность символов | Символ |
---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
|
| ≤ | |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ | \0 | ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
Чтобы использовать разметку 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/.
FontName
FontName 'FixedWidth'
Название шрифта, заданное как поддерживаемое название шрифта или 'FixedWidth'
. Чтобы отобразить и распечатать текст правильно, необходимо выбрать шрифт, который поддерживает система. Стандартный шрифт зависит от вашей операционной системы и локали.
Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, используйте 'FixedWidth'
. Шрифт фиксированной ширины полагается на корневое свойство FixedWidthFontName
. Установка корневого свойства FixedWidthFontName
заставляет незамедлительное обновление отображения использовать новый шрифт.
'FontSize'
'FontSize' Размер шрифта, заданный как скалярное значение, больше, чем нуль в модулях точки. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.
Если вы изменяете размер шрифта осей, то MATLAB автоматически устанавливает размер шрифта шкалы палитры к 90% размера шрифта осей. Если вы вручную устанавливаете размер шрифта шкалы палитры, то изменение размера шрифта осей не влияет на шрифт шкалы палитры.
FontWeight
Символьная толщина'normal'
(значение по умолчанию) | 'bold'
Символьная толщина, заданная как 'normal'
или 'bold'
.
MATLAB использует свойство FontWeight
выбрать шрифт от доступных в вашей системе. Не все шрифты имеют полужирный вес. Поэтому определение полужирной толщины шрифта может все еще привести к обычной толщине шрифта.
FontAngle
Символьный наклон'normal'
(значение по умолчанию) | 'italic'
Наклонные символы, заданные как 'normal' или 'italic'.
Не все шрифты имеют оба стилей шрифтов. Поэтому курсивный шрифт может выглядеть одинаково как обычный шрифт.
TextColor
TextColor [0 0 0]
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
|...Цвет текста, заданный как триплет 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'
Color
— BackgroundColor [1 1 1]
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
|...Цвет фона, заданный как триплет 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')
'EdgeColor'
Цвет контура поля[0.15 0.15 0.15]
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
|...Цвет контура поля, заданный как триплет 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'
Отображение схемы поля, заданной как одно из этих значений:
'on'
— Отобразите поле вокруг легенды.
'off'
Не отображайте поле вокруг легенды.
Пример: legend({'A','B'},'Box','off')
'LineWidth'
Ширина схемы поля0.5
(значение по умолчанию) | положительное значениеШирина схемы поля, заданной как положительное значение в модулях точки. Один пункт равен 1/72 дюйма.
Пример: 1.5
Visible
— Состояние видимости'on'
(значение по умолчанию) | 'off'
Состояние видимости, заданное в качестве одного из следующих значений:
'on' — Отображать объект.
'off' — Скрыть объект, не удаляя его.
Вы по-прежнему можете получать доступ к свойствам невидимого объекта.
UIContextMenu
Контекстное менюКонтекстное меню, заданное как объект ContextMenu.
Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по объекту. Создайте контекстное меню с помощью функции uicontextmenu.
Если для свойства PickableParts задано значение 'none', или если для свойства HitTest установлено значение 'off', контекстное меню не отображается.
Selected
— Состояние выбора'off'
(значение по умолчанию) | 'on'
Состояние выбора, заданное как одно из следующих значений:
'on' — Выбран.
Если вы кликаете на объект, находясь в режиме редактирования графика, MATLAB устанавливает для свойства Selected значение 'on'.
Если для свойства SelectionHighlight задано значение 'on', MATLAB отображает маркеры выделения вокруг объекта.
off' — Не выбран.
SelectionHighlight
Отображение маркеров выделения'on'
(значение по умолчанию) | 'off'
Отображение маркеров выделения, заданное как одно из следующих значений:
'on' — Отображать маркеры выделения, если для свойства Selected задано значение 'on'.
'off' — Никогда не отображать маркеры выделения, даже если для свойства Selected задано значение 'on'.
ItemHitFcn
Коллбэк, который выполняется, когда вы кликаете по элементам легенды@defaultItemHitCallback
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк, который выполняется, когда вы кликаете по элементам легенды, заданным как одно из этих значений:
Указатель на функцию. Например, @myCallback
.
Массив ячейки, содержащий указатель на функцию и дополнительные аргументы. Например, {@myCallback,arg3}
.
Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется).
Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает объект Legend
и структуру данных о событиях как первые и вторые входные параметры к функции. Эта таблица описывает поля в конечном счете структура данных.
Поля структуры данных о событиях
Поле | Описание |
---|---|
Peer | Объект диаграммы сопоставлен с элементом легенды, по которому кликают. |
Region | Область элемента легенды, по которому кликают, возвратилась или как 'icon' или как 'label' . |
SelectionType | Тип нажатия кнопки, возвращенного как одно из этих значений:
|
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;
'ButtonDownFcn'
Щелкните мышью по коллбэку@bdowncb
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовОбратный вызов по клику мыши, заданный как одно из следующих значений:
Указатель на функцию
Массив ячейки, содержащий указатель на функцию и дополнительные аргументы
Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)
Используйте это свойство для выполнения кода при клике по объекту. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента функции обратного вызова при выполнении обратного вызова:
Объект, по которому кликают — свойства Access объекта, по которому кликают, из функции обратного вызова.
Данные о событиях — Пустой аргумент. Замените его на символ тильды (~
) в функциональном определении, чтобы указать, что этот аргумент не используется.
Если для свойства PickableParts задано значение 'none', или если для свойства HitTest задано значение 'off', этот обратный вызов не выполняется.
CreateFcn
Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Определение Коллбэка.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn.
Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
DeleteFcn
Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Определение Коллбэка.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта.
Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'off'
(значение по умолчанию) | 'on'
Прерывание коллбэка, заданное как 'off'
или 'on'
. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Рассмотрите эти состояния коллбэка где:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible
объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Свойство «Прерывание» имеет два возможных значения:
'off'
Рабочий коллбэк не может быть прерван. MATLAB завершает выполнение обратного вызова без каких-либо прерываний. Свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.
'on'
— Рабочий коллбэк может быть прерван. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, когда у вас есть команда, такая как drawnow
, figure
, getframe
, waitfor
или pause
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
BusyAction
Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка обратного вызова в очередь задается как 'queue' или 'cancel'.
Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible
объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction
:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
отмена
Не выполняет прерывание обратного вызова.
PickableParts
Способность захватить клики мыши'visible'
(значение по умолчанию) | 'none'
Возможность осуществить захват кликов мыши, заданная как одно из следующих значений:
'visible'
— Захватите клики мыши, когда видимый. Свойство Visible
должно быть установлено в 'on'
, и необходимо кликнуть по части объекта Legend
, который имеет заданный цвет. Вы не можете кликнуть элемент, у которого значение связанного свойства цвета установлено на 'none'.
Свойство HitTest
определяет, отвечает ли объект Legend
на нажатие кнопки или если предок делает.
'none' — Невозможно захватить клики мыши.
Нажатие на объект Legend
передает нажатие кнопки объекту ниже его в текущем представлении окна рисунка. Свойство HitTest
объекта Legend
не имеет никакого эффекта.
HitTest
Ответ на захватил клики мыши'on'
(значение по умолчанию) | 'off'
Ответ на захваченные клики мыши, заданный как одно из следующих значений:
'on'
— Инициируйте коллбэк ButtonDownFcn
объекта Legend
. Если вы определили свойство UIContextMenu, активируйте контекстное меню.
'off'
Инициируйте коллбэки для самого близкого предка объекта Legend
, который имеет один из них:
Набор свойств HitTest
к 'on'
Набор свойств PickableParts
к значению, которое позволяет предку захватить клики мыши
Свойство PickableParts
определяет, может ли объект Legend
захватить клики мыши. Если это невозможно, свойство HitTest никоим образом на это не влияет.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский элементFigure
| объект Panel
| объект Tab
Родительский элемент, заданный как объект Figure
, объект Panel
или объект Tab
.
Объект Legend
должен иметь тот же родительский элемент как связанные оси. Если вы изменяете родительский элемент связанных осей, то объект Legend
автоматически обновляет, чтобы использовать тот же родительский элемент.
Children
— Дочерние элементыGraphicsPlaceholder
У объекта нет дочерних элементов. Вы не можете задать это свойство.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'off'
| 'callback'
Видимость указателя на объект в свойстве Children родителя, заданная как одно из следующих значений:
on' — указатель на объект всегда отображается.
off' — указатель на объект всегда невидим.
Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение 'off' в HandleVisibility, чтобы временно скрыть указатель в течение выполнения этой функции.
callback' — указатель на объект виден из обратных вызовов или функций, вызываемых обратными вызовами, но не из функций, инициируемых из командной строки.
Эта опция блокирует доступ к объекту в командной строке, но разрешает функциям обратного вызова получать доступ к нему.
Если объект не указан в свойстве Children родителя, то функции, которые получают указатели на объекты путем поиска иерархии объектов или запросов свойств указателя, не могут вернуть его.
Примеры таких функций включают get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
и функции close
.
Скрытые указатели на объекты все еще действительны. Установите значение корневого свойства ShowHiddenHandles на 'on', чтобы отобразить все указатели на объекты независимо от значения свойства HandleVisibility.
Ввод
Тип графического объекта'legend'
(значение по умолчанию)Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'legend'
. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData
. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.