Внешний вид и поведение легенды
Legend
свойства управляют внешним видом и поведением Legend
объект. Путем изменения значений свойств можно изменить определенные аспекты легенды. Используйте запись через точку для ссылки на конкретный объект и свойство:
plot(rand(3)) lgd = legend('a','b','c'); c = lgd.TextColor; lgd.TextColor = 'red';
Location
— Местоположение относительно осей'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
— Количество столбцов
(значение по умолчанию) | положительное целое числоКоличество столбцов, заданных как положительное целое число. Если существует недостаточно элементов легенды, чтобы заполнить конкретное количество столбцов, то количество столбцов, которые появляются, может быть меньше.
Используйте 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])
Установка этого свойства не оказывает влияния, когда родительским контейнером является TiledChartLayout
.
Units
— Модули положения'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
— Текст для меток легендыТекст для меток легенды, заданных как массив ячеек из символьных векторов, массив строк или категориальный массив. Чтобы включать специальные символы или греческие буквы в метках, используйте синтаксис TeX. Для таблицы опций смотрите Interpreter
свойство.
Title
— Заголовок легендыЗаголовок легенды, возвращенный как объект текста легенды. Чтобы добавить заголовок легенды, установите 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 Пурпурный , blue , black , white серый , 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
(значение по умолчанию) | триплет 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
(значение по умолчанию) | триплет 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
— Цвет контура поля
(значение по умолчанию) | триплет 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])
Box
— Отображение схемы поля'on'
(значение по умолчанию) | 'off'
Отображение схемы поля, заданной как одно из этих значений:
'on'
— Отобразите поле вокруг легенды.
'off'
— Не отображайте поле вокруг легенды.
Пример: legend({'A','B'},'Box','off')
LineWidth
— Ширина схемы поля
(значение по умолчанию) | положительное значениеШирина схемы поля, заданной как положительное значение в модулях точки. Один пункт равен 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 | Legend объект. |
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
'callback'. Если вы не задаете CreateFcn
свойство, затем MATLAB выполняет функцию создания по умолчанию.
Установка CreateFcn
свойство на существующем компоненте не оказывает влияния.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функционируйте, чтобы получить доступ к объекту.
DeleteFcn
— Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Определение Коллбэка.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn
коллбэк прежде, чем уничтожить свойства объекта. Если вы не задаете DeleteFcn
свойство, затем MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функционируйте, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'off'
(значение по умолчанию) | 'on'
Прерывание коллбэка, заданное как 'off'
или 'on'
. Interruptible
свойство определяет, может ли рабочий коллбэк быть прерван.
Рассмотрите эти состояния коллбэка где:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Interruptible
свойство имеет два возможных значения:
'off'
— Рабочий коллбэк не может быть прерван. MATLAB завершает выполнение обратного вызова без каких-либо прерываний. BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.
'on'
— Рабочий коллбэк может быть прерван. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, когда у вас есть команда, такая как drawnow
фигура
getframe
waitfor
, или pause
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
BusyAction
— Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка, заданная как 'queue'
или 'cancel'
. BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения BusyAction
свойство:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
'cancel'
— Не выполняет прерывание обратного вызова.
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'
Это свойство доступно только для чтения.
Состояние Deletion, возвращенное как 'off'
или 'on'
. MATLAB устанавливает BeingDeleted
свойство к 'on'
когда DeleteFcn
коллбэк начинает выполнение. BeingDeleted
свойство остается установленным в 'on'
пока объект компонента больше не существует.
Проверяйте значение BeingDeleted
свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.
Parent
— Родительский контейнерFigure
возразите | Panel
возразите | Tab
возразите | TiledChartLayout
объектРодительский контейнер, заданный как Figure
объект, Panel
объект, Tab
объект или TiledChartLayout
объект.
Legend
объект должен иметь тот же родительский элемент как связанные оси. Если вы изменяете родительский элемент связанных осей, то Legend
возразите автоматически обновляется, чтобы использовать тот же родительский элемент.
Children
— Дочерние элементыGraphicsPlaceholder
массивУ объекта нет дочерних элементов. Вы не можете задать это свойство.
HandleVisibility
— Видимость указателя на объект'on'
(значение по умолчанию) | 'off'
| 'callback'
Видимость указателя на объект в Children
свойство родительского элемента, заданного как одно из этих значений:
'on'
— Указатель на объект всегда отображается.
'off'
— Указатель на объект невидим в любом случае. Эта опция полезна для предотвращения непреднамеренных изменений другой функцией. Установите HandleVisibility
к 'off'
временно скрыть указатель во время выполнения этой функции.
'callback'
— Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но разрешает функциям обратного вызова получать доступ к нему.
Если объект не перечислен в Children
свойство родительского элемента, затем функционирует, которые получают указатели на объект путем поиска иерархии объектов, или запрос свойств указателя не может возвратить его. Примеры таких функций включают get
findobj
gca
gcf
gco
newplot
cla
clf
, и close
функции.
Скрытые указатели на объекты все еще действительны. Установите корневой ShowHiddenHandles
свойство к 'on'
перечислять все указатели на объект независимо от их HandleVisibility
установка свойства.
Type
— Тип графического объекта'legend'
(значение по умолчанию)Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'legend'
. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.
Tag
— Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальный Tag
значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj
функционируйте, чтобы искать основанное на объектах на Tag
значение.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData
свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.