Histogram Properties

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

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

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

Интервалы

расширить все

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

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

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

Для данных datetime и данных о длительности, значение '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'

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

'integers'

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

Примечание

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

'sturges'

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

'sqrt'

Правило Квадратный корень широко используется в других программных пакетах. Он выбирает количество интервалов, которые будут 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 или длительность, затем 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа 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

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

Значения Bin, возвращенные как числовой вектор. Если 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 или данные о длительности.

'cumcount'

vi=j=1icj

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

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

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

'probability'

vi=ciN

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

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

'pdf'

vi=ciNwi

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

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

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

Примечание

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

'cdf'

vi=j=1icjN

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

  • Высота каждой полосы равна совокупному относительному количеству наблюдений в интервале и всех предыдущих интервалах. Высота последней полосы меньше или равна 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 свойство на осях. Однако следующие условия должны быть верными, чтобы изменения имели любой эффект:

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

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

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

Легенда

расширить все

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

Пример: 'Text Description'

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

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

Кроме того, вы можете задать текст легенды, используя legend функция.

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

  • Если вы не задаете текст как входной параметр к legend function, тогда легенда использует текст в 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

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

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

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

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

Примечание

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

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

Примечание

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

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

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

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

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

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

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

Коллбэки

расширить все

Коллбэк по клику мыши, заданный как одно из следующих значений:

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

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

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

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

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

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

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

Примечание

Если на 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. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

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

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполняться. The 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