exponenta event banner

Свойства гистограммы

Внешний вид и поведение гистограммы

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

h = histogram(randn(10,1));
c = h.BinWidth;
h.BinWidth = 2;

Мусорные ведра

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

Количество ячеек, указанное как положительное целое число. Если не указать NumBins, то histogram автоматически вычисляет количество используемых ячеек на основе значений в Data.

Этот параметр не применяется к гистограммам категориальных данных.

Ширина ячеек, заданная как скаляр. При указании BinWidth, то histogram может использовать максимум 65 536 ячеек (или 216). Если вместо этого для указанной ширины ячейки требуется больше ячеек, то histogram использует большую ширину ячейки, соответствующую максимальному количеству ячеек.

Для данных datetime и duration значение 'BinWidth' может быть скалярной длительностью или длительностью календаря.

Этот параметр не применяется к гистограммам категориальных данных.

Пример: histogram(X,'BinWidth',5) использует ячейки шириной 5.

Края ячеек, заданные как числовой вектор. Первый векторный элемент определяет левую кромку первой ячейки. Последний элемент указывает правый край последней ячейки. Если ребра ячейки не указаны, то histogram автоматически определяет местоположение ребер ячейки.

Этот параметр не применяется к гистограммам категориальных данных.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Пределы ячейки, заданные как двухэлементный вектор, [bmin,bmax]. Эта опция отображает гистограмму с использованием значений во входном массиве. X, которые попадают между bmin и bmax включительно. То есть X(X>=bmin & X<=bmax).

Этот параметр не применяется к гистограммам категориальных данных.

Пример: histogram(X,'BinLimits',[1,10]) строит гистограмму, используя только значения в X которые находятся между 1 и 10 включительно.

Режим выбора для пределов ячейки, указанный как 'auto' или 'manual'. Значение по умолчанию: 'auto', так что пределы ячейки автоматически подстраиваются под данные.

Если явно указать либо BinLimits или BinEdges, то BinLimitsMode автоматически устанавливается в значение 'manual'. В этом случае укажите BinLimitsMode как 'auto' для масштабирования лимитов ячейки в данных.

Этот параметр не применяется к гистограммам категориальных данных.

Алгоритм объединения, указанный как одно из значений в этой таблице.

Стоимость

Описание

'auto'

Дефолт 'auto' алгоритм выбирает ширину ячейки для охвата диапазона данных и выявления формы нижележащего распределения.

'scott'

Правило Скотта оптимально, если данные близки к нормальному распределению. Это правило также подходит для большинства других распределений. Используется ширина ячейки 3.5*std(X(:))*numel(X)^(-1/3).

'fd'

Правило Freedman-Diaconis менее чувствительно к отклонениям в данных и может быть более подходящим для данных с тяжелохвостыми распределениями. Используется ширина ячейки 2*IQR(X(:))*numel(X)^(-1/3), где IQR - межквартильный диапазон X.

'integers'

Целочисленное правило полезно использовать с целочисленными данными, поскольку оно создает бин для каждого целого. Он использует ширину ячейки 1 и размещает кромки ячейки на полпути между целыми числами. Чтобы избежать случайного создания слишком большого количества ячеек, можно использовать это правило для создания ограничения 65536 ячеек (216). Если диапазон данных больше 65536, то в целочисленном правиле вместо этого используются более широкие ячейки.

Примечание

'integers' не поддерживает данные datetime или duration.

'sturges'

Правило Стерджеса популярно благодаря своей простоте. Выбирается количество ячеек ceil(1 + log2(numel(X))).

'sqrt'

Правило Square Root широко используется в других программных пакетах. Выбирается количество ячеек ceil(sqrt(numel(X))).

histogram не всегда выбирает количество ячеек по этим точным формулам. Иногда количество ячеек немного регулируется так, что края ячеек попадают на «хорошие» числа.

Для данных datetime метод bin может быть одной из следующих единиц времени:

'second''month'
'minute''quarter'
'hour''year'
'day''decade'
'week''century'

Для данных длительности метод bin может быть одной из следующих единиц времени:

'second''day'
'minute''year'
'hour' 

При указании BinMethod с данными datetime или duration, затем histogram может использовать максимум 65 536 ячеек (или 216). Если указанная длительность ячейки требует больше ячеек, то histogram использует большую ширину ячейки, соответствующую максимальному количеству ячеек.

Этот параметр не применяется к гистограммам категориальных данных.

Примечание

Если установить BinLimits, NumBins, BinEdges, или BinWidth свойство, затем BinMethod свойство имеет значение 'manual'.

Пример: histogram(X,'BinMethod','integers') создает гистограмму с ячейками, расположенными по центру целых чисел.

Категории

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

Примечание

Этот параметр применяется только к категориальным гистограммам.

Категории, включенные в гистограмму, указанные как массив ячеек из векторов символов, категориальный массив или строковый массив.

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

  • Если указать количество ячеек, то Categories указывает имена связанных категорий для гистограммы.

Пример: h = histogram(C,{'Large','Small'}) отображает только категориальные данные в категориях 'Large' и 'Small'.

Пример: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3]) строит гистограмму, имеющую три категории со связанными счетчиками ячеек.

Пример: h.Categories запрашивает категории, находящиеся в объекте гистограммы h.

Типы данных: cell | categorical | string

Порядок отображения категории, указанный как 'ascend', 'descend', или 'data'. С 'ascend' или 'descend'гистограмма отображается с увеличением или уменьшением высоты полосы. Дефолт 'data' значение использует порядок категорий во входных данных, C.

Этот параметр работает только с категориальными данными.

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

Этот параметр работает только с категориальными данными.

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

Установите для этой опции значение 'on' для отображения дополнительной полосы в гистограмме с именем 'Others'. Эта дополнительная полоса подсчитывает все элементы, которые не относятся к категориям, отображаемым в гистограмме.

Можно изменить количество категорий, отображаемых в гистограмме, а также их порядок, используя 'NumDisplayBins' и 'DisplayOrder' варианты.

Этот параметр работает только с категориальными данными.

Данные

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

Данные для распределения по ячейкам, указанным как вектор, матрица, многомерный массив или категориальный массив. Если Data не является вектором, то histogram обрабатывает его как один вектор-столбец, Data(:)и строит график одной гистограммы.

histogram игнорирует все NaN, NaTи неопределенные категориальные значения. Аналогично, histogram игнорирует Inf и -Inf значения, за исключением случаев явного указания ребер ячейки Inf или -Inf как ребро ячейки. Хотя NaN, NaT, Inf, -Inf, и <undefined> значения обычно не печатаются, они по-прежнему включаются в расчеты нормализации, которые включают общее количество элементов данных, таких как 'probability'.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration

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

Значения ячейки, возвращаемые в виде числового вектора. Если Normalization является 'count' (по умолчанию), затем k-й элемент в Values указывает, сколько элементов Data падение в интервале k-ой ячейки (количество ячеек). Последняя ячейка включает в себя значения, которые находятся на любой кромке ячейки, но все остальные ячейки включают только значения, которые попадают на левую кромку.

В зависимости от значения Normalization, Values вместо этого свойство может содержать нормализованный вариант количества ячеек.

Тип нормализации, указанный как одно из значений в этой таблице. Для каждой ячейки i:

  • vi - значение ячейки.

  • ci - количество элементов в ячейке.

  • wi - ширина бункера.

  • N - количество элементов во входных данных. Это значение может быть больше, чем привязанные данные, если данные содержат NaN, NaT, или <undefined> значения или, если часть данных находится за пределами ячейки.

СтоимостьЗначения ячейкиПримечания
'count' (по умолчанию)

vi = ci

  • Количество или частота наблюдений.

  • Сумма значений ячейки меньше или равна numel(X). Сумма меньше numel(X) только в том случае, если часть входных данных не включена в ячейки.

  • Для категориальных данных сумма значений ячеек меньше или равна numel(X) или sum(ismember(X(:),Categories)).

'countdensity'

vi = ciwi

  • Число или частота, масштабированные по ширине ячейки.

  • Площадь (высота * ширина) каждой полосы - это количество наблюдений в ячейке. Сумма областей полосы меньше или равна numel(X).

  • Для категориальных гистограмм это то же самое, что 'count'.

Примечание

'countdensity' не поддерживает данные datetime или duration.

'cumcount'

vi=∑j=1icj

  • Кумулятивный подсчет. Каждое значение ячейки - это совокупное количество наблюдений в этой ячейке и во всех предыдущих ячейках.

  • Высота последней полосы меньше или равна numel(X).

  • Для категориальных гистограмм высота последней планки меньше или равна numel(X) или sum(ismember(X(:),Categories)).

'probability'

vi = ciN

  • Относительная вероятность.

  • Сумма высот стержней меньше или равна 1.

'pdf'

vi = ciN wi

  • Оценка функции плотности вероятности.

  • Площадь каждой полосы представляет собой относительное число наблюдений. Сумма областей полосы меньше или равна 1.

  • Для категориальных гистограмм это то же самое, что 'probability'.

Примечание

'pdf' не поддерживает данные datetime или duration.

'cdf'

vi=∑j=1i cjN

  • Оценка кумулятивной функции плотности.

  • Высота каждой панели равна совокупному относительному количеству наблюдений в ячейке и во всех предыдущих ячейках. Высота последней полосы меньше или равна 1.

  • Для категориальных данных высота каждой планки равна совокупному относительному количеству наблюдений в каждой категории и всех предыдущих категориях.

Пример: histogram(X,'Normalization','pdf') строит график оценки функции плотности вероятности для X.

Количество ячеек, указанное как вектор. Используйте этот ввод для передачи количества ячеек в histogram когда расчет количества ячеек выполняется отдельно, и вы не хотите histogram для выполнения любого объединения данных.

Длина counts должно быть равно количеству ячеек.

  • Для цифровых гистограмм количество ячеек равно length(edges)-1.

  • Для категориальных гистограмм количество ячеек равно количеству категорий.

По сравнению с Values собственность, BinCounts не нормализован. Если Normalization является 'count', то Values и BinCounts эквивалентны.

Пример: histogram('BinEdges',-2:2,'BinCounts',[5 8 15 9])

Пример: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])

Режим выбора для количества ячеек, указанный как 'auto' или 'manual'. Значение по умолчанию: 'auto', так что количество ячеек автоматически вычисляется из Data и BinEdges.

При указании BinCounts, то BinCountsMode автоматически устанавливается в значение 'manual'. Аналогично, если указать Data, то BinCountsMode автоматически устанавливается в значение 'auto'.

Цвет и стиль

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

Стиль отображения гистограммы, указанный как 'bar' или 'stairs'. Определить 'stairs' отображение графика лестницы, на котором отображается контур гистограммы без заполнения интерьера.

Значение по умолчанию 'bar' отображает штрих-график гистограммы.

Пример: histogram(X,'DisplayStyle','stairs') строит график гистограммы.

Ориентация стержней, указанная как 'vertical' или 'horizontal'.

Пример: histogram(X,'Orientation','horizontal') создает график гистограммы с горизонтальными полосами.

Примечание

Этот параметр применяется только к гистограммам категориальных данных.

Относительная ширина категориальных полос, заданная как скалярное значение в диапазоне [0,1]. Это свойство используется для управления разделением категориальных полос в гистограмме. Значение по умолчанию: 0.9, что означает, что ширина полосы составляет 90% пространства от предыдущей полосы до следующей полосы, с 5% этого пространства с каждой стороны.

Если для этого свойства задано значение 1затем прилегающие бруски соприкасаются.

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

  • 'none' - Бруски не заполнены.

  • 'auto' - Цвет полосы гистограммы выбирается автоматически (по умолчанию).

  • Триплет RGB, шестнадцатеричный код цвета или имя цвета - столбцы заполняются указанным цветом.

    Триплеты 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'

    Вот триплеты 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'

При указании DisplayStyle как 'stairs', то histogram не использует FaceColor собственность.

Пример: histogram(X,'FaceColor','g') создает график гистограммы с зелеными полосами.

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

  • 'none' - Кромки не нарисованы.

  • 'auto' - Цвет каждого ребра выбирается автоматически.

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

    Триплеты 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'

    Вот триплеты 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'

Пример: histogram(X,'EdgeColor','r') создает график гистограммы с красными краями полос.

Прозрачность гистограмм, заданная как скалярное значение между 0 и 1 включительно. histogram использует одинаковую прозрачность для всех полос гистограммы. Значение 1 означает полностью непрозрачный и 0 означает полностью прозрачный (невидимый).

Пример: histogram(X,'FaceAlpha',1) создает график гистограммы с полностью непрозрачными полосами.

Прозрачность ребер гистограммы, заданная как скалярное значение между 0 и 1 включительно. Значение 1 означает полностью непрозрачный и 0 означает полностью прозрачный (невидимый).

Пример: histogram(X,'EdgeAlpha',0.5) создает график гистограммы с полупрозрачными краями полос.

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

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Пунктирная линия

'none'Без строкиБез строки

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

Пример: 1.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Индекс серии, указанный как целое число, большее или равное 0. Это свойство полезно для переназначения цветов граней нескольких Histogram объекты, чтобы они совпадали друг с другом. По умолчанию SeriesIndex свойство Histogram объект - это число, соответствующее его порядку создания, начиная с 1.

MATLAB использует число для вычисления индексов для назначения цветов при вызове функций печати. Индексы относятся к строкам массивов, хранящихся в ColorOrder свойства осей.

MATLAB автоматически обновляет цвет грани Histogram объект при изменении его SeriesIndexили при изменении ColorOrder свойство на осях. Однако для того, чтобы изменения имели какой-либо эффект, должны быть выполнены следующие условия:

  • FaceColor свойство на Histogram объект имеет значение 'auto'.

  • SeriesIndex свойство на Histogram объект больше, чем 0.

  • NextSeriesIndex свойство объекта axes больше, чем 0.

Легенда

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

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

Пример: 'Text Description'

Для многострочного текста создайте символьный вектор с помощью sprintf с новым символом строки \n.

Пример: sprintf('line one\nline two')

Можно также указать текст легенды с помощью legend функция.

  • Если указать текст в качестве входного аргумента для legend , то легенда использует указанный текст и устанавливает DisplayName к тому же значению.

  • Если текст не указан в качестве входного аргумента для legend , то легенда использует текст в DisplayName собственность. Значение по умолчанию DisplayName является одним из этих значений.

    • Для цифровых вводов: DisplayName - символьный вектор, представляющий имя переменной входных данных, используемых для построения гистограммы. Если входные данные не имеют имени переменной, то DisplayName пуст, ''.

    • Для входов категориального массива, DisplayName пуст, ''.

Если DisplayName не содержит текста, то легенда создает символьный вектор. Вектор символов имеет вид 'dataN', где N - номер, присвоенный объекту гистограммы на основе его местоположения в списке элементов легенды.

При интерактивном редактировании вектора символов в существующей легенде MATLAB обновляет DisplayName к отредактированному вектору символов.

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

Элемент управления для включения или исключения объекта из легенды, возвращаемый как Annotation объект. Установить нижележащий IconDisplayStyle к одному из следующих значений:

  • 'on' - Включить объект в легенду (по умолчанию).

  • 'off' - не включать объект в легенду.

Например, чтобы исключить графический объект, go, из набора условных обозначений IconDisplayStyle свойство для 'off'.

go.Annotation.LegendInformation.IconDisplayStyle = 'off';

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

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

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

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

  • 'on' - Просмотр объекта.

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

Содержимое подсказки данных, указанное как DataTipTemplate объект. Можно управлять содержимым, появляющимся в подсказке данных, изменяя свойства нижележащего содержимого. DataTipTemplate объект. Список свойств см. в разделе Свойства DataTipTemplate.

Пример изменения подсказок по данным см. в разделе Создание подсказок по пользовательским данным.

Примечание

DataTipTemplate объект не возвращен findobj или findall, и он не копируется copyobj.

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

Примечание

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

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

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

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

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

  • 'on' - Отображение дескрипторов выбора, когда Selected свойство имеет значение 'on'.

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

Отзывы

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

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

  • Дескриптор функции

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

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

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

  • Clicked object - доступ к свойствам нажатого объекта из функции обратного вызова.

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

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

Примечание

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

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

  • Дескриптор функции.

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

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

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

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

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

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

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

  • Дескриптор функции.

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

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

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

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

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

Управление выполнением обратного вызова

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

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

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

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

  • Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.

Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов (если он существует). Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание.

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

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

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

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

Примечание

Прерывание и выполнение обратного вызова ведут себя по-разному в следующих ситуациях:

  • Если обратный вызов с прерыванием является DeleteFcn, CloseRequestFcn или SizeChangedFcn обратный вызов, то прерывание происходит независимо от Interruptible значение свойства.

  • Если выполняемый обратный вызов в данный момент выполняется waitfor функция, то прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются в соответствии с графиком независимо от Interruptible значение свойства.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или отображения. Например, объект, возвращенный gca или gcf при выполнении другого обратного вызова команда может измениться.

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

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

  • Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.

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

  • 'queue' - помещает обратный вызов с прерыванием в очередь, подлежащую обработке после завершения выполнения обратного вызова.

  • 'cancel' - не выполняет обратный вызов прерывания.

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

  • 'visible' - Захват щелчков мыши только при отображении. Visible свойство должно иметь значение 'on'. HitTest определяет, Histogram объект отвечает на клик или если это делает предок.

  • 'none' - Не удается зафиксировать щелчки мыши. Щелкните значок Histogram объект передает щелчок на объект за ним в текущем виде окна фигуры. HitTest имущества Histogram объект не имеет эффекта.

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

  • 'on' - Запустить ButtonDownFcn обратный вызов Histogram объект. Если вы определили ContextMenu затем вызовите контекстное меню.

  • 'off' - Инициировать обратные вызовы для ближайшего предка Histogram объект, имеющий один из следующих объектов:

    • HitTest свойство имеет значение 'on'

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

Примечание

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

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

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

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

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

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

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

Родитель, указан как Axes, PolarAxes, Group, или Transform объект.

Дети, возвращенные как пустые GraphicsPlaceholder массив или DataTip массив объектов. Это свойство используется для просмотра списка подсказок по данным, отображаемых на диаграмме.

Невозможно добавить или удалить дочерние элементы с помощью Children собственность. Чтобы добавить дочерний элемент в этот список, установите Parent имущества DataTip объект к объекту диаграммы.

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

  • 'on' - Дескриптор объекта всегда виден.

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

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

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

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

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

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

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

Тип графического объекта, возвращаемый как 'histogram' или 'categoricalhistogram'. Это свойство используется для поиска всех объектов данного типа в иерархии печати, например для поиска типа с помощью findobj.

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

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

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

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

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

Не рекомендуется начинать с R2020a

Представлен в R2014b