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 | логический

Пределы интервала, заданные как двухэлементный вектор, [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 и помещает ребра интервала на полпути между целыми числами. Чтобы постараться не случайно создавать слишком много интервалов, можно использовать это правило, чтобы создать предел 65 536 интервалов (216). Если область значений данных больше, чем 65 536, то целочисленное правило использует более широкие интервалы вместо этого.

Примечание

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

'sturges'

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

'sqrt'

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

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

Для данных о datetime метод интервала может быть одним из этих модулей времени:

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

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

'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

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

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

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

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

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

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

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

Данные

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

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

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

Если вы изменяете значения в свойстве Data объекта histogram, то ребра интервала автоматически не обновляются. Чтобы повторно вычислить интервалы, настройте связанное с интервалом свойство, такое как BinMethod или NumBins. Можно только задать категориальные значения для Data, если объект гистограммы был первоначально создан с помощью categoricals.

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

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

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

В зависимости от значения 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

Легенда

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

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

Пример: 'Text Description'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 'on' — Отображать объект.

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

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

Примечание

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

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

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

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

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

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

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

Коллбэки

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

Используйте это свойство для выполнения кода при создании объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств. Установка значения свойства CreateFcn не влияет на существующий объект . Для того, чтобы действие было эффективным, вам необходимо задать свойство CreateFcn во время создания объекта. Один из способов задать свойство во время создания объекта — задать значение свойства по умолчанию для объекта. Для получения дополнительной информации см. Раздел "Значения свойств по умолчанию".

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

  • Созданный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

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

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

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

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

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

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

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

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

  • Удаленный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

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

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

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

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

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Примечание

Рассмотрите эти состояния коллбэка где:

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

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

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

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

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

  • 'off' — Не прерывать. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

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

Рассмотрите эти состояния коллбэка где:

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

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

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

Если коллбэк объекта Histogram пытается прервать рабочий коллбэк, который не может быть прерван, то свойство BusyAction определяет, отбрасывается ли это или вставило очередь. Задайте свойство BusyAction как одно из следующих значений:

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

  • cancel' — Отменить прерывание обратного вызова.

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

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

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

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

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

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

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

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

Примечание

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

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

Удаление статуса, возврат на 'off' или 'on'. MATLAB устанавливает свойство BeingDeleted на 'on', когда функция удаления объекта начинает выполняться (см. ""Свойство DeleteFcn""). Свойство BeingDeleted остается в установленном значении 'on', до того момента, как объект перестанет существовать.

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

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

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

Родительский элемент, заданный как Axes, PolarAxes, Group или объект Transform.

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

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

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

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

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

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

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

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

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

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

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

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

Используйте это свойство найти объекты histogram в иерархии. Например, можно использовать функцию findobj, чтобы найти объекты histogram, которые имеют определенное значение свойства Tag.

Пример: 'January Data'

Типы данных: char

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

Чтобы связать несколько наборов данных или прикрепить имя поля к данным, используйте функции getappdata и setappdata.

Пример: 1:100

Введенный в R2014b