histogram2

График двумерной гистограммы

Описание

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

Создание

Описание

пример

histogram2(X,Y) создает график двумерной гистограммы X и Y. histogram2 функционируйте использует автоматический алгоритм раскладывания, который возвращает интервалы с универсальной областью, выбранной, чтобы покрыть область значений элементов в X и Y и покажите базовую форму распределения. histogram2 отображает интервалы как 3-D прямоугольные панели, таким образом, что высота каждой панели указывает на число элементов в интервале.

пример

histogram2(X,Y,nbins) задает количество интервалов, чтобы использовать в каждой размерности гистограммы.

пример

histogram2(X,Y,Xedges,Yedges) задает ребра интервалов в каждой размерности с помощью векторов Xedges и Yedges.

histogram2('XBinEdges',Xedges,'YBinEdges',Yedges,'BinCounts',counts) вручную задает количество интервалов. histogram2 строит заданное количество интервалов и не делает никакого раскладывания данных.

пример

histogram2(___,Name,Value) задает дополнительные опции с одним или несколькими Name,Value парные аргументы с помощью любого из предыдущих синтаксисов. Например, можно задать 'BinWidth' и двухэлементный вектор, чтобы настроить ширину интервалов в каждой размерности или 'Normalization' с допустимой опцией ('count', 'probability', 'countdensity', 'pdf', 'cumcount', или 'cdf') использовать другой тип нормализации. Для списка свойств смотрите Histogram2 Properties.

histogram2(ax,___) графики в осях заданы ax вместо в текущую систему координат (gca). Опция ax может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.

пример

h = histogram2(___) возвращает Histogram2 объект. Используйте это, чтобы смотреть и настроить свойства двумерной гистограммы. Для списка свойств смотрите Histogram2 Properties.

Входные параметры

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

Данные, чтобы распределить среди интервалов в виде отдельных аргументов векторов, матриц или многомерных массивов. X и Y должен быть одного размера. Если X и Y не векторы, затем histogram2 обрабатывает их как векторы отдельного столбца, X(:) и Y(:), и строит одну гистограмму.

Соответствующие элементы в X и Y задайте x и координаты y точек 2D данных, [X(k),Y(k)]. Типы данных X и Y может отличаться, но histogram2 конкатенирует эти входные параметры в один N- 2 матрица доминирующего типа данных.

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

Примечание

Если X или Y содержите целые числа типа int64 или uint64 это больше, чем flintmax, затем рекомендуется, чтобы вы явным образом задали ребра интервала гистограммы.histogram2 автоматически интервалы входные данные с помощью двойной точности, которая испытывает недостаток в целочисленной точности чисел, больше, чем flintmax.

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

Количество интервалов в каждой размерности в виде положительного скалярного целого числа или двухэлементного вектора из положительных целых чисел. Если вы не задаете nbinsто histogram2 автоматически вычисляет сколько интервалов, чтобы использовать на основе значений в X и Y.

  • Если nbins скаляр, затем histogram2 использование, что много интервалов в каждой размерности.

  • Если nbins вектор, затем nbins(1) задает количество интервалов в x - размерность и nbins(2) задает количество интервалов в y - размерность.

Пример: histogram2(X,Y,20) использование 20 интервалов в каждой размерности.

Пример: histogram2(X,Y,[10 20]) использование 10 интервалов в x- размерность и 20 интервалов в y- размерность.

Границы интервала в x - размерность в виде вектора. Xedges(1) первое ребро первого интервала в x - размерность и Xedges(end) внешний край последнего интервала.

Значение [X(k),Y(k)] находится в (i,j)интервал th, если Xedges(i)X(k) <Xedges(i+1) и Yedges(j)Y(k) <Yedges(j+1). Последние интервалы в каждой размерности также включают последнее (внешнее) ребро. Например, [X(k),Y(k)] попадает в iинтервал th в последней строке, если Xedges(end-1)X(k)Xedges(end) и Yedges(i)Y(k) <Yedges(i+1).

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

Границы интервала в y - размерность в виде вектора. Yedges(1) первое ребро первого интервала в y - размерность и Yedges(end) внешний край последнего интервала.

Значение [X(k),Y(k)] находится в (i,j)интервал th, если Xedges(i)X(k) <Xedges(i+1) и Yedges(j)Y(k) <Yedges(j+1). Последние интервалы в каждой размерности также включают последнее (внешнее) ребро. Например, [X(k),Y(k)] попадает в iинтервал th в последней строке, если Xedges(end-1)X(k)Xedges(end) и Yedges(i)Y(k) <Yedges(i+1).

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

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

counts должна быть матрица размера [length(XBinEdges)-1 length(YBinEdges)-1] так, чтобы это указало, что интервал значит каждый интервал.

Пример: histogram2('XBinEdges',-1:1,'YBinEdges',-2:2,'BinCounts',[1 2 3 4; 5 6 7 8])

Объект осей. Если вы не задаете оси, то histogram2 функционируйте использует текущую систему координат (gca).

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: histogram2(X,Y,'BinWidth',[5 10])

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите Histogram2 Properties.

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

ЗначениеОписание
'auto'

'auto' по умолчанию алгоритм выбирает, ширина интервала, чтобы покрыть данные располагаются и показывают форму базового распределения.

'scott'

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

'fd'

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

'integers'

Целочисленное правило полезно с целочисленными данными, когда это создает интервалы, сосредоточенные на парах целых чисел. Это использует ширину интервала 1 для каждой размерности и помещает границы интервала на полпути между целыми числами.

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

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

Примечание

Если вы устанавливаете NumBinsXBinEdges YBinEdges BinWidth XBinLimits , или YBinLimits свойства, затем BinMethod свойство установлено в 'manual'.

Пример: histogram2(X,Y,'BinMethod','integers') создает двумерную гистограмму с интервалами, сосредоточенными на парах целых чисел.

Ширина интервалов в каждой размерности в виде двухэлементного вектора из положительных целых чисел, [xWidth yWidth].

Если вы задаете BinWidthто histogram2 может использовать максимум 1 024 интервалов (210) по каждому измерению. Если вместо этого заданная ширина интервала требует большего количества интервалов, то histogram2 использует большую ширину интервала, соответствующую максимальному количеству интервалов.

Пример: histogram2(X,Y,'BinWidth',[5 10]) интервалы использования с размером 5 в x- размерность и размер 10 в y- размерность.

Стиль отображения гистограммы в виде любого 'bar3' или 'tile'. Задайте 'tile' отобразить гистограмму как прямоугольный массив мозаик с цветами, указывающими на значения интервала.

Значение по умолчанию 'bar3' отображает гистограмму с помощью 3-D панелей.

Пример: histogram2(X,Y,'DisplayStyle','tile') строит гистограмму как прямоугольный массив мозаик.

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

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

Цвет обводки гистограммы в виде одного из этих значений:

  • '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'

    Sample of the color red

    'green''g'[0 1 0]'#00FF00'

    Sample of the color green

    'blue''b'[0 0 1]'#0000FF'

    Sample of the color blue

    'cyan' 'c'[0 1 1]'#00FFFF'

    Sample of the color cyan

    'magenta''m'[1 0 1]'#FF00FF'

    Sample of the color magenta

    'yellow''y'[1 1 0]'#FFFF00'

    Sample of the color yellow

    'black''k'[0 0 0]'#000000'

    Sample of the color black

    'white''w'[1 1 1]'#FFFFFF'

    Sample of the color white

    Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использование во многих типах графиков.

    Триплет RGBШестнадцатеричный цветовой кодВнешний вид
    [0 0.4470 0.7410]'#0072BD'

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]'#D95319'

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]'#EDB120'

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]'#7E2F8E'

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]'#77AC30'

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]'#4DBEEE'

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]'#A2142F'

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Пример: histogram2(X,Y,'EdgeColor','r') создает 3-D график гистограммы с красными ребрами панели.

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

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

Панель гистограммы окрашивает в виде одного из этих значений:

  • 'none' — Панели не заполнены.

  • 'flat' — Цвета панели меняются в зависимости от высоты. Панели с различной высотой имеют различные цвета. Цвета выбраны из палитры осей или фигуры.

  • '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'

    Sample of the color red

    'green''g'[0 1 0]'#00FF00'

    Sample of the color green

    'blue''b'[0 0 1]'#0000FF'

    Sample of the color blue

    'cyan' 'c'[0 1 1]'#00FFFF'

    Sample of the color cyan

    'magenta''m'[1 0 1]'#FF00FF'

    Sample of the color magenta

    'yellow''y'[1 1 0]'#FFFF00'

    Sample of the color yellow

    'black''k'[0 0 0]'#000000'

    Sample of the color black

    'white''w'[1 1 1]'#FFFFFF'

    Sample of the color white

    Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

    Триплет RGBШестнадцатеричный цветовой кодВнешний вид
    [0 0.4470 0.7410]'#0072BD'

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]'#D95319'

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]'#EDB120'

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]'#7E2F8E'

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]'#77AC30'

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]'#4DBEEE'

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]'#A2142F'

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Если вы задаете DisplayStyle как 'stairs'то histogram2 не использует FaceColor свойство.

Пример: histogram2(X,Y,'FaceColor','g') создает 3-D график гистограммы с зелеными панелями.

Эффект освещения на панели гистограммы в виде одного из значений в этой таблице.

ЗначениеОписание
'lit'

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

Это - значение по умолчанию когда DisplayStyle 'bar3'.

'flat'

Панели гистограммы не освещены автоматически. В присутствии других световых объектов эффект освещения универсален через поверхности панели.

'none'

Панели гистограммы не освещены автоматически, и световые сигналы не влияют на панели гистограммы.

FaceLighting может только быть 'none' когда DisplayStyle 'tile'.

Пример: histogram2(X,Y,'FaceLighting','none') выключает подсветку панелей гистограммы.

Стиль линии в виде одной из опций перечислен в этой таблице.

Стиль линииОписаниеПолучившаяся линия
'-'Сплошная линия

Sample of solid line

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

Sample of dashed line

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

Sample of dotted line

'-.'Штрих-пунктирная линия

Sample of dash-dotted line, with alternating dashes and dots

'none'Никакая линияНикакая линия

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

Пример: 1.5

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

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

  • vi значение интервала.

  • ci число элементов в интервале.

  • Ai=wxiwyi область каждого интервала, вычисленное использование x и ширин интервала y.

  • N число элементов во входных данных. Это значение может быть больше сгруппированных данных, если данные содержат NaN значения, или если некоторые данные находятся вне пределов интервала.

ЗначениеЗначения интервалаПримечания
'count' (значение по умолчанию)

vi=ci

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

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

'countdensity'

vi=ciAi

  • Количество или частота, масштабируемая областью интервала.

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

'cumcount'

vi=j=1icj

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

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

'probability'

vi=ciN

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

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

'pdf'

vi=ciNAi

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

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

'cdf'

vi=j=1icjN

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

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

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

Переключите отображение пустых интервалов в виде любого 'off' или 'on'. Значением по умолчанию является 'off'.

Пример: histogram2(X,Y,'ShowEmptyBins','on') включает отображение пустых интервалов.

Интервал ограничивает в x - размерность в виде двухэлементного вектора, [xbmin,xbmax]. Вектор указывает на первые и последние границы интервала в x - размерность.

histogram2 только отображает на графике данные, которые находятся в пределах пределов интервала включительно, Data(Data(:,1)>=xbmin & Data(:,1)<=xbmax).

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

Если вы явным образом задаете любой XBinLimits или XBinEdges, затем XBinLimitsMode установлен автоматически в 'manual'. В этом случае задайте XBinLimitsMode как 'auto' перемасштабировать пределы интервала данным.

Интервал ограничивает в y - размерность в виде двухэлементного вектора, [ybmin,ybmax]. Вектор указывает на первые и последние границы интервала в y - размерность.

histogram2 только отображает на графике данные, которые находятся в пределах пределов интервала включительно, Data(Data(:,2)>=ybmin & Data(:,2)<=ybmax).

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

Если вы явным образом задаете любой YBinLimits или YBinEdges, затем YBinLimitsMode установлен автоматически в 'manual'. В этом случае задайте YBinLimitsMode как 'auto' перемасштабировать пределы интервала данным.

Выходные аргументы

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

Двумерная гистограмма, возвращенная как объект. Для получения дополнительной информации смотрите Histogram2 Properties.

Свойства

Histogram2 PropertiesВнешний вид и поведение Histogram2

Функции объекта

morebinsУвеличение числа интервалов гистограммы
fewerbinsСокращение числа интервалов гистограммы

Примеры

свернуть все

Сгенерируйте 10 000 пар случайных чисел и создайте двумерную гистограмму. histogram2 функция автоматически выбирает соответствующее количество интервалов, чтобы покрыть область значений значений в x и y и покажите форму базового распределения.

x = randn(10000,1);
y = randn(10000,1);
h = histogram2(x,y)
h = 
  Histogram2 with properties:

             Data: [10000x2 double]
           Values: [25x28 double]
          NumBins: [25 28]
        XBinEdges: [-3.9000 -3.6000 -3.3000 -3 -2.7000 -2.4000 -2.1000 ... ]
        YBinEdges: [-4.2000 -3.9000 -3.6000 -3.3000 -3.0000 -2.7000 ... ]
         BinWidth: [0.3000 0.3000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

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

Найдите количество интервалов гистограммы в каждой размерности.

nXnY = h.NumBins
nXnY = 1×2

    25    28

Постройте двумерную гистограмму 1 000 пар случайных чисел, отсортированных в 25 равномерно распределенных интервалов, с помощью 5 интервалов в каждой размерности.

x = randn(1000,1);
y = randn(1000,1);
nbins = 5;
h = histogram2(x,y,nbins)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [5x5 double]
          NumBins: [5 5]
        XBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4]
        YBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4]
         BinWidth: [1.6000 1.6000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Найдите получившееся количество интервалов.

counts = h.Values
counts = 5×5

     0     2     3     1     0
     2    40   124    47     4
     1   119   341   109    10
     1    32   117    33     1
     0     4     8     1     0

Сгенерируйте 1 000 пар случайных чисел и создайте двумерную гистограмму.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Используйте morebins функционируйте, чтобы грубо настроить количество интервалов в x размерности.

nbins = morebins(h,'x');
nbins = morebins(h,'x')

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

nbins = 1×2

    19    15

Используйте fewerbins функция, чтобы настроить количество интервалов в y размерности.

nbins = fewerbins(h,'y');
nbins = fewerbins(h,'y')

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

nbins = 1×2

    19    11

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

h.NumBins = [20 10];

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Создайте двумерную гистограмму с помощью 1 000 нормально распределенных случайных чисел с 12 интервалами в каждой размерности. Задайте FaceColor как 'flat' окрасить панели гистограммы высотой.

h = histogram2(randn(1000,1),randn(1000,1),[12 12],'FaceColor','flat');
colorbar

Figure contains an axes object. The axes object contains an object of type histogram2.

Сгенерируйте случайные данные и постройте двумерную мозаичную гистограмму. Отобразите пустые интервалы путем определения ShowEmptyBins как 'on'.

x = 2*randn(1000,1)+2;
y = 5*randn(1000,1)+3;
h = histogram2(x,y,'DisplayStyle','tile','ShowEmptyBins','on');

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Сгенерируйте 1 000 пар случайных чисел и создайте двумерную гистограмму. Задайте границы интервала с помощью двух векторов с бесконечно широкими интервалами на контуре гистограммы, чтобы получить все выбросы, которые не удовлетворяют |x|<2.

x = randn(1000,1);
y = randn(1000,1);
Xedges = [-Inf -2:0.4:2 Inf];
Yedges = [-Inf -2:0.4:2 Inf];
h = histogram2(x,y,Xedges,Yedges)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [12x12 double]
          NumBins: [12 12]
        XBinEdges: [-Inf -2 -1.6000 -1.2000 -0.8000 -0.4000 0 0.4000 ... ]
        YBinEdges: [-Inf -2 -1.6000 -1.2000 -0.8000 -0.4000 0 0.4000 ... ]
         BinWidth: 'nonuniform'
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Когда границы интервала бесконечны, histogram2 отображения каждый интервал выброса (вдоль контура гистограммы) как удваивание ширины интервала рядом с ним.

Задайте Normalization свойство как 'countdensity' удалить интервалы, содержащие выбросы. Теперь объем каждого интервала представляет частоту наблюдений в том интервале.

h.Normalization = 'countdensity';

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Сгенерируйте 1 000 пар случайных чисел и создайте двумерную гистограмму с помощью 'probability' нормализация.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y,'Normalization','probability')

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
         BinWidth: [0.5000 0.5000]
    Normalization: 'probability'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Вычислите полную сумму высот панели. С этой нормализацией высота каждой панели равна вероятности выбора наблюдения в том интервале интервала и высот всей суммы панелей к 1.

S = sum(h.Values(:))
S = 1

Сгенерируйте 1 000 пар случайных чисел и создайте двумерную гистограмму. Возвратите объект гистограммы настроить свойства гистограммы, не воссоздавая целый график.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 ... ]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Окрасьте панели гистограммы высотой.

h.FaceColor = 'flat';

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Измените количество интервалов в каждом направлении.

h.NumBins = [10 25];

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Отобразите гистограмму как график мозаики.

h.DisplayStyle = 'tile';
view(2)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

Используйте savefig функционируйте, чтобы сохранить histogram2 фигура.

histogram2(randn(100,1),randn(100,1));
savefig('histogram2.fig');
close gcf

Используйте openfig чтобы загрузить гистограмму фигурируют назад в MATLAB. openfig также возвращает указатель на фигуру, h.

h = openfig('histogram2.fig');

Figure contains an axes object. The axes object contains an object of type histogram2.

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

y = findobj(h,'type','histogram2')
y = 
  Histogram2 with properties:

             Data: [100x2 double]
           Values: [7x6 double]
          NumBins: [7 6]
        XBinEdges: [-3 -2 -1 0 1 2 3 4]
        YBinEdges: [-3 -2 -1 0 1 2 3]
         BinWidth: [1 1]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Советы

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

Расширенные возможности

Введенный в R2015b