График гистограммы
Гистограммы являются типом столбиковой диаграммы для числовых данных, которые группируют данные в интервалы. После того, как вы создадите объект Histogram
, можно изменить аспекты гистограммы путем изменения ее значений свойств. Это особенно полезно для того, чтобы быстро изменить свойства интервалов или изменить отображение.
histogram(X)
histogram(X,nbins)
histogram(X,edges)
histogram('BinEdges',edges,'BinCounts',counts)
histogram(C)
histogram(C,Categories)
histogram('Categories',Categories,'BinCounts',counts)
histogram(___,Name,Value)
histogram(ax,___)
h = histogram(___)
создает график гистограммы histogram(X)
X
. Функция histogram
использует автоматический алгоритм раскладывания, который возвращает интервалы с универсальной шириной, выбранной, чтобы покрыть область значений элементов в X
и показать базовую форму распределения. histogram
отображает интервалы как прямоугольники, таким образом, что высота каждого прямоугольника указывает на число элементов в интервале.
использует много интервалов, заданных скаляром, histogram(X,nbins)
nbins
.
Виды
histogram(X,edges)
X
в интервалы с краями интервала, заданными вектором, edges
. Каждый интервал включает левый край, но не включает правый край, за исключением последнего интервала, который включает оба края.
histogram('BinEdges',edges,'BinCounts',counts)
вручную задает края интервала и сопоставленные количества интервала. histogram
строит график заданных количеств интервала и не делает никакого раскладывания данных.
histogram(C)
, где C
является категориальным массивом, строит график гистограммы с панелью для каждой категории в C
.
histogram(C,Categories)
строит график только подмножества категорий, заданных Categories
.
histogram('Categories',Categories,'BinCounts',counts)
вручную задает категории и сопоставленные количества интервала. histogram
строит график заданных количеств интервала и не делает никакого раскладывания данных.
histogram(___,Name,Value)
задает дополнительные опции с одним или несколькими аргументами пары Name,Value
с помощью любого из предыдущих синтаксисов. Например, можно задать 'BinWidth'
и скаляр, чтобы настроить ширину интервалов или 'Normalization'
с допустимой опцией ('count'
, 'probability'
, 'countdensity'
, 'pdf'
, 'cumcount'
или 'cdf'
), чтобы использовать другой тип нормализации. Для списка свойств смотрите Histogram Properties.
histogram(ax,___)
строит график в оси, заданные ax
вместо в текущую систему координат (gca
). Опция ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.
h = histogram(___)
возвращает объект Histogram
. Используйте это, чтобы осмотреть и настроить свойства гистограммы. Для списка свойств смотрите Histogram Properties.
Входные параметры
X
Данные, чтобы распределить среди интервалов
вектор | матрица | многомерный массив
Данные, чтобы распределить среди интервалов, заданных как вектор, матрица или многомерный массив. Если X
не является вектором, то histogram
обрабатывает его как вектор отдельного столбца, X(:)
, и строит график единственной гистограммы.
histogram
игнорирует весь NaN
и значения NaT
. Точно так же histogram
игнорирует Inf
и значения -Inf
, если края интервала явным образом не задают Inf
или -Inf
как край интервала. Несмотря на то, что NaN
, NaT
, Inf
и значения -Inf
обычно не строятся график, они все еще включены в вычисления нормализации, которые включают общее количество элементов данных, таких как 'probability'
.
Примечание
Если X
содержит целые числа типа int64
или uint64
, которые больше, чем flintmax
, то рекомендуется, чтобы вы явным образом задали края интервала гистограммы. histogram
автоматически интервалы входные данные с помощью двойной точности, которая испытывает недостаток в целочисленной точности чисел, больше, чем flintmax
.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| логический
| datetime
| длительность
C
Категориальные данные
категориальный массив
Категориальные данные, заданные как категориальный массив. histogram
не строит график неопределенных категориальных значений. Однако неопределенные категориальные значения все еще включены в вычисления нормализации, которые включают общее количество элементов данных, таких как 'probability'
.
Типы данных: категориальный
nbins
Количество интервалов
положительное целое число
Количество интервалов, заданных как положительное целое число. Если вы не задаете nbins
, то histogram
автоматически вычисляет сколько интервалов, чтобы использовать на основе значений в X
.
Пример: гистограмма (X, 15)
создает гистограмму с 15 интервалами.
края
BinEdges
вектор
Края интервала, заданные как вектор. edges(1)
является левым краем первого интервала, и edges(end)
является правым краем последнего интервала.
Значение X(i)
находится в k
th интервал если edges(k)
≤ X(i)
<edges(k+1)
. Последний интервал также включает правильный край интервала, так, чтобы это содержало X(i)
если edges(end-1)
≤ X(i)
≤ edges(end)
.
Для datetime и данных длительности, edges
должен быть datetime или вектором длительности в монотонно увеличивающемся порядке.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| логический
| datetime
| длительность
Категории
Категории включены в гистограмму
массив ячеек из символьных векторов | категориальный вектор
Примечание
Эта опция только применяется к категориальным гистограммам.
Категории включены в гистограмму, заданную как массив ячеек из символьных векторов или категориальный вектор.
Если вы задаете входной категориальный массив C
, то по умолчанию, histogram
строит график панели для каждой категории в C
. В этом случае используйте Categories
, чтобы задать уникальное подмножество категорий вместо этого.
Если вы задаете количества интервала, то Categories
задает связанные названия категории для гистограммы.
Пример: h = гистограмма (C, {'Большой', 'Маленький'})
отображает на графике только категориальные данные в категориях, 'Больших'
и 'Небольших'
.
Пример: гистограмма ('Категории', {'Да', 'Нет', 'Возможно'}, 'BinCounts', [22 18 3])
строит график гистограммы, которая имеет три категории со связанными количествами интервала.
Пример: h. Категории
запрашивают категории, которые находятся в h
объекта гистограммы.
Типы данных: ячейка
| категориальный
counts
— Bincounts
вектор
Количества интервала, заданные как вектор. Используйте этот входной параметр, чтобы передать количества интервала histogram
, когда вычисление количеств интервала выполняется отдельно, и вы не хотите, чтобы histogram
сделал любое раскладывание данных.
Длина counts
должна быть равна количеству интервалов.
Для числовых гистограмм количеством интервалов является length(edges)-1
.
Для категориальных гистограмм количество интервалов равно количеству категорий.
Пример: гистограмма ('BinEdges',-2:2, 'BinCounts', [5 8 15 9])
Пример: гистограмма ('Категории', {'Да', 'Нет', 'Возможно'}, 'BinCounts', [22 18 3])
ax
— Целевые оси
Объект Axes
| объект PolarAxes
Целевые оси, заданные как объект Axes
или объект PolarAxes
. Если вы не задаете оси и если текущей системой координат являются Оси декартовой системы координат, то функция histogram
использует текущую систему координат (gca
). Чтобы построить график в полярные оси, задайте объект PolarAxes
как первый входной параметр или используйте функцию polarhistogram
.
Аргументы в виде пар имя-значение
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Пример: гистограмма (X, 'BinWidth', 5)
Свойства гистограммы, перечисленные здесь, являются только подмножеством. Для полного списка смотрите Histogram Properties.
BarWidth
Относительная ширина категориальных панелей
0.9
(значение по умолчанию) | скаляр в области значений [0,1]
Примечание
Эта опция только применяется к гистограммам категориальных данных.
Относительная ширина категориальных панелей, заданных как скалярное значение в области значений [0,1]
. Используйте это свойство управлять разделением категориальных панелей в гистограмме. Значением по умолчанию является 0.9
, что означает, что ширина панели составляет 90% пробела от предыдущей панели до следующей панели с 5% того пробела на каждой стороне.
Если вы устанавливаете это свойство на 1
, то смежное касание панелей.
Пример: 0.5
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'BinLimits'
'BinLimits'
двухэлементный вектор
Пределы интервала, заданные как двухэлементный вектор, [bmin,bmax]
. Эта опция строит график гистограммы с помощью значений во входном массиве, X
, том падении между bmin
и bmax
включительно. Таким образом, X(X>=bmin & X<=bmax)
.
Эта опция не применяется к гистограммам категориальных данных.
Пример: гистограмма (X, 'BinLimits', [1,10])
строит график гистограммы с помощью только значения в X
, которые являются между 1
и 10
включительно.
BinLimitsMode
Режим выбора для пределов интервала
'auto'
(значение по умолчанию) | 'manual'
Режим выбора для пределов интервала, заданных как 'auto'
или 'manual'
. Значением по умолчанию является 'auto'
, так, чтобы пределы интервала автоматически настроили к данным.
Если вы явным образом задаете или BinLimits
или BinEdges
, то BinLimitsMode
автоматически установлен в 'manual'
. В этом случае задайте BinLimitsMode
как 'auto'
, чтобы повторно масштабировать пределы интервала данным.
Эта опция не применяется к гистограммам категориальных данных.
BinMethod
Алгоритм раскладывания
'auto'
(значение по умолчанию) | 'scott'
| 'fd'
| 'integers'
| 'sturges'
| 'sqrt'
|...
Алгоритм раскладывания, заданный как одно из значений в этой таблице.
Значение
Описание
'auto'
Алгоритм 'auto'
по умолчанию выбирает, ширина интервала, чтобы покрыть данные располагаются и показывают форму базового распределения.
'scott'
Правило Скотта оптимально, если данные близко к тому, чтобы быть нормально распределенным. Это правило подходит для большинства других дистрибутивов, также. Это использует ширину интервала 3.5*std(X(:))*numel(X)^(-1/3)
.
'fd'
Правило Фридмена—Диакониса менее чувствительно к выбросам в данных и может более подойти для данных с дистрибутивами с тяжелым хвостом. Это использует ширину интервала 2*IQR(X(:))*numel(X)^(-1/3)
, где IQR
является межквартильным размахом X
.
Целые числа
Целочисленное правило полезно с целочисленными данными, когда это создает интервал для каждого целого числа. Это использует ширину интервала 1 и помещает края интервала на полпути между целыми числами. Чтобы постараться не случайно создавать слишком много интервалов, можно использовать это правило, чтобы создать предел 65 536 интервалов (216). Если область значений данных больше, чем 65 536, то целочисленное правило использует более широкие интервалы вместо этого.
Примечание
'integers'
не поддерживает данные длительности или datetime.
'sturges'
Правило Стерджеса популярно из-за его простоты. Это выбирает количество интервалов, чтобы быть ceil(1 + log2(numel(X)))
.
sqrt
Правило Квадратного корня широко использовано в других пакетах программного обеспечения. Это выбирает количество интервалов, чтобы быть ceil(sqrt(numel(X)))
.
Для данных datetime метод интервала может быть одним из этих модулей времени:
второй
месяц
минута
четверть
час
год
день
'decade'
неделя
'century'
Для данных длительности метод интервала может быть одним из этих модулей времени:
второй
день
минута
год
час
Если вы задаете BinMethod
с datetime или данными длительности, то histogram
может использовать максимум 65 536 интервалов (или 216). Если заданная длительность интервала требует большего количества интервалов, то histogram
использует большую ширину интервала, соответствующую максимальному количеству интервалов.
Эта опция не применяется к гистограммам категориальных данных.
Примечание
Если вы устанавливаете BinLimits
, NumBins
, BinEdges
или свойство BinWidth
, то BinMethod
свойство установлено в 'manual'
.
Пример: гистограмма (X, 'BinMethod', 'целые числа')
создает гистограмму с интервалами, центрируемыми на целых числах.
BinWidth
Ширина интервалов
скаляр
Ширина интервалов, заданных как скаляр. Когда вы задаете BinWidth
, затем histogram
может использовать максимум 65 536 интервалов (или 216). Если вместо этого заданная ширина интервала требует большего количества интервалов, то histogram
использует большую ширину интервала, соответствующую максимальному количеству интервалов.
Для datetime и данных длительности, значение 'BinWidth'
может быть скалярной длительностью или календарной длительностью.
Эта опция не применяется к гистограммам категориальных данных.
Пример: гистограмма (X, 'BinWidth', 5)
использует интервалы с шириной 5.
DisplayOrder
Порядок отображения категории
'data'
(значение по умолчанию) | 'ascend'
| 'descend'
Порядок отображения категории, заданный как 'ascend'
, 'descend'
или 'data'
. С 'ascend'
или 'descend'
, гистограмма отображается с увеличением или уменьшением высот панели. Значение 'data'
по умолчанию использует порядок категории во входных данных, C
.
Эта опция только работает с категориальными данными.
DisplayStyle
Стиль отображения гистограммы
'bar'
(значение по умолчанию) | 'stairs'
Стиль отображения гистограммы, заданный или как 'bar'
или как 'stairs'
. Задайте 'stairs'
, чтобы отобразить ступенчатый график, который отображает схему гистограммы, не заполняя внутреннюю часть.
Значение по умолчанию 'bar'
отображает столбиковую диаграмму гистограммы.
Пример: гистограмма (X, 'DisplayStyle', 'лестница')
строит график схемы гистограммы.
EdgeAlpha
Прозрачность краев панели гистограммы
1
(значение по умолчанию) | скалярное значение между 0
и 1
включительно
Прозрачность краев панели гистограммы, заданных как скалярное значение между 0
и 1
включительно. Значение 1
означает полностью непрозрачный, и 0
означает абсолютно прозрачная (невидимая операция).
Пример: гистограмма (X, 'EdgeAlpha', 0.5)
создает график гистограммы с полупрозрачными краями панели.
'EdgeColor'
Цвет обводки гистограммы
[0 0 0]
или черное (значение по умолчанию) | 'none'
| 'auto'
| триплет RGB или название цвета
Цвет обводки гистограммы, заданный как одно из этих значений:
'none'
Края не чертятся.
'auto'
Цвет каждого края выбран автоматически.
Триплет RGB или название цвета — Края используют заданный цвет.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция Описание Эквивалентный триплет RGB 'красный' или 'r'
Красный [1 0 0]
'green'
или 'g'
Зеленый [0 1 0]
'blue'
или 'b'
Синий [0 0 1]
'yellow'
или 'y'
Желтый [1 1 0]
'пурпурный' или 'm'
Пурпурный [1 0 1]
'голубой' или 'c'
Голубой [0 1 1]
'white'
или 'w'
Белый [1 1 1]
'black'
или 'k'
Черный [0 0 0]
Пример: гистограмма (X, 'EdgeColor', 'r')
создает график гистограммы с красными краями панели.
'FaceAlpha'
Прозрачность панелей гистограммы
0.6
(значение по умолчанию) | скалярное значение между 0
и 1
включительно
Прозрачность панелей гистограммы, заданных как скалярное значение между 0
и 1
включительно. histogram
использует ту же прозрачность для всех панелей гистограммы. Значение 1
означает полностью непрозрачный, и 0
означает абсолютно прозрачная (невидимая операция).
Пример: гистограмма (X, 'FaceAlpha', 1)
создает график гистограммы с полностью непрозрачными панелями.
'FaceColor'
Цвет панели гистограммы
'auto'
(значение по умолчанию) | 'none'
| триплет RGB или название цвета
Цвет панели гистограммы, заданный как одно из этих значений:
'none'
Панели не заполнены.
'auto'
Цвет панели гистограммы выбран автоматически (по умолчанию).
Триплет RGB или название цвета — Панели заполнены заданным цветом.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция Описание Эквивалентный триплет RGB 'красный' или 'r'
Красный [1 0 0]
'green'
или 'g'
Зеленый [0 1 0]
'blue'
или 'b'
Синий [0 0 1]
'yellow'
или 'y'
Желтый [1 1 0]
'пурпурный' или 'm'
Пурпурный [1 0 1]
'голубой' или 'c'
Голубой [0 1 1]
'white'
или 'w'
Белый [1 1 1]
'black'
или 'k'
Черный [0 0 0]
Если вы задаете DisplayStyle
как 'stairs'
, то histogram
не использует свойство FaceColor
.
Пример: гистограмма (X, 'FaceColor', 'g')
создает график гистограммы с зелеными панелями.
'LineStyle'
— Стиль линии
'-'
(значение по умолчанию) | '--'
| ':'
| '-.'
| 'none'
Стиль линии, заданный как одна из опций, перечислен в этой таблице.
Стиль линии Описание Получившаяся строка '-'
Сплошная линия

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

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

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

'none'
Никакая строка Никакая строка
'LineWidth'
Ширина основ панели
0.5
(значение по умолчанию) | положительное значение
Ширина основ панели, заданных как положительное значение в модулях точки. Один пункт равен 1/72 дюйма.
Пример 1. 5
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'Normalization'
— Тип нормализации
'count'
(значение по умолчанию) | 'probability'
| 'countdensity'
| 'pdf'
| 'cumcount'
| 'cdf'
Тип нормализации, заданной как одно из значений в этой таблице. Для каждого интервала i
:
является значением интервала.
является числом элементов в интервале.
является шириной интервала.
является числом элементов во входных данных. Это значение может быть больше, чем сгруппированные данные, если данные содержат NaN
, NaT
или значения <undefined>
, или если некоторые данные находятся вне пределов интервала.
Значение Значения интервала Примечания 'count'
(значение по умолчанию)
Количество или частота наблюдений.
Сумма значений интервала меньше чем или равна numel(X)
. Сумма является меньше, чем numel(X)
только, когда некоторые входные данные не включены в интервалы.
Для категориальных данных сумма значений интервала меньше чем или равна или numel(X)
или sum(ismember(X(:),Categories))
категории.
'countdensity'
Количество или частота, масштабируемая шириной интервала.
Областью (высота * ширина) каждой панели является количество наблюдений в интервале. Сумма баров меньше чем или равна numel(X)
.
Для категориальных гистограмм это совпадает с 'count'
.
Примечание
'countdensity'
не поддерживает данные длительности или datetime.
'cumcount'
Совокупное количество. Каждое значение интервала является совокупным числом наблюдений в том интервале и всех предыдущих интервалах.
Высота последней панели меньше чем или равна numel(X)
.
Для категориальных гистограмм высота последней панели меньше чем или равна numel(X)
или sum(ismember(X(:),Categories))
категории.
'probability'
Относительная вероятность.
Сумма высот панели меньше чем или равна 1
.
'pdf'
Оценка функции плотности вероятности.
Областью каждой панели является относительное количество наблюдений. Сумма баров меньше чем или равна 1
.
Для категориальных гистограмм это совпадает с 'probability'
.
Примечание
'pdf'
не поддерживает данные длительности или datetime.
'cdf'
Совокупная оценка функции плотности.
Высота каждой панели равна совокупному относительному количеству наблюдений в интервале и всех предыдущих интервалах. Высота последней панели меньше чем или равна 1
.
Для категориальных данных высота каждой панели равна совокупному относительному количеству наблюдений в каждой категории и всех предыдущих категориях.
Пример: гистограмма (X, 'Нормализация', 'PDF')
строит график оценки функции плотности вероятности для X
.
'NumDisplayBins'
Количество категорий, чтобы отобразиться
скаляр
Количество категорий, чтобы отобразиться, заданный как скаляр. Можно изменить упорядоченное расположение категорий, отображенных в гистограмме с помощью опции 'DisplayOrder'
.
Эта опция только работает с категориальными данными.
'Orientation'
— Ориентация панелей
'vertical'
(значение по умолчанию) | 'horizontal'
Ориентация панелей, заданных как 'vertical'
или 'horizontal'
.
Пример: гистограмма (X, 'Ориентация', 'горизонталь')
создает график гистограммы с горизонтальными планками.
'ShowOthers'
Переключите итоговое отображение данных, принадлежащих неотображенным категориям
'off'
(значение по умолчанию) | 'on'
Переключите итоговое отображение данных, принадлежащих неотображенным категориям, заданным как 'off'
или 'on'
. Установите эту опцию на 'on'
отображать дополнительную панель в гистограмме с именем 'Others'
. Эта дополнительная панель считает все элементы, которые не принадлежат категориям, отображенным в гистограмме.
Можно изменить количество категорий, отображенных в гистограмме, а также их порядке, с помощью опций 'DisplayOrder'
и 'NumDisplayBins'
.
Эта опция только работает с категориальными данными.
Выходные аргументы
h
Гистограмма
объект
Гистограмма, возвращенная как объект. Для получения дополнительной информации смотрите histogram
.
Функции объекта
Примеры
Гистограмма вектора
Сгенерируйте 10 000 случайных чисел и создайте гистограмму. Функция
histogram
автоматически выбирает соответствующее количество интервалов, чтобы покрыть область значений значений в x
и показать форму базового распределения.
x = randn(10000,1);
h = histogram(x)
h =
Histogram with properties:
Data: [10000x1 double]
Values: [1x37 double]
NumBins: 37
BinEdges: [1x38 double]
BinWidth: 0.2000
BinLimits: [-3.8000 3.6000]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Когда вы задаете выходной аргумент функции
histogram
, это возвращает объект гистограммы. Можно использовать этот объект осмотреть свойства гистограммы, такие как количество интервалов или ширина интервалов.
Найдите количество интервалов гистограммы.
nbins = h.NumBins
nbins = 37
Определение количества интервалов гистограммы
Постройте график гистограммы 1 000 случайных чисел, отсортированных в 25 равномерно распределенных интервалов.
x = randn(1000,1);
nbins = 25;
h = histogram(x,nbins)
h =
Histogram with properties:
Data: [1000x1 double]
Values: [1x25 double]
NumBins: 25
BinEdges: [1x26 double]
BinWidth: 0.2800
BinLimits: [-3.4000 3.6000]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Найдите количества интервала.
counts = h.Values
counts = 1×25
1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0 2
Изменение количества интервалов гистограммы
Сгенерируйте 1 000 случайных чисел и создайте гистограмму.
X = randn(1000,1);
h = histogram(X)
h =
Histogram with properties:
Data: [1000x1 double]
Values: [1x23 double]
NumBins: 23
BinEdges: [1x24 double]
BinWidth: 0.3000
BinLimits: [-3.3000 3.6000]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Используйте функцию
morebins
, чтобы грубо настроить количество интервалов.
Nbins = morebins(h);
Nbins = morebins(h)
Nbins = 29
Настройте интервалы на мелкозернистом уровне путем явного определения номера интервалов.
h.NumBins = 31;
Определение краев интервала гистограммы
Сгенерируйте 1 000 случайных чисел и создайте гистограмму. Задайте края интервала как вектор с широкими интервалами на краях гистограммы, чтобы получить выбросы, которые не удовлетворяют
. Первый векторный элемент является левым краем первого интервала, и последний векторный элемент является правым краем последнего интервала.
x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);
Задайте свойство
Normalization
как 'countdensity'
, чтобы выровнять интервалы, содержащие выбросы. Теперь, область каждого интервала (а не высота) представляет частоту наблюдений в том интервале.
h.Normalization = 'countdensity';
Графическое изображение категориальной гистограммы
Создайте категориальный вектор, который представляет голоса. Категориями в векторе является
'yes'
, 'no'
или 'undecided'
.
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
C = 1x27 categorical array
Columns 1 through 9
no no yes yes yes no no no no
Columns 10 through 16
undecided undecided yes no no no yes
Columns 17 through 25
no yes no yes no no no yes yes
Columns 26 through 27
yes yes
Постройте график категориальной гистограммы голосов, с помощью относительной ширины панели
0.5
.
h = histogram(C,'BarWidth',0.5)
h =
Histogram with properties:
Data: [1x27 categorical]
Values: [11 14 2]
NumDisplayBins: 3
Categories: {'yes' 'no' 'undecided'}
DisplayOrder: 'data'
Normalization: 'count'
DisplayStyle: 'bar'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Гистограмма с заданной нормализацией
Сгенерируйте 1 000 случайных чисел и создайте гистограмму с помощью нормализации
'probability'
.
x = randn(1000,1);
h = histogram(x,'Normalization','probability')
h =
Histogram with properties:
Data: [1000x1 double]
Values: [1x23 double]
NumBins: 23
BinEdges: [1x24 double]
BinWidth: 0.3000
BinLimits: [-3.3000 3.6000]
Normalization: 'probability'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Вычислите сумму высот панели. С этой нормализацией высота каждой панели равна вероятности выбора наблюдения в том интервале интервала и высоты всех сумм панелей к 1.
S = sum(h.Values)
S = 1
Графическое изображение нескольких гистограмм
Сгенерируйте два вектора случайных чисел и постройте график гистограммы для каждого вектора в той же фигуре.
x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
Поскольку объем выборки и ширина интервала гистограмм отличаются, трудно сравнить их. Нормализуйте гистограммы так, чтобы все высоты панели добавили к 1 и использовали универсальную ширину интервала.
h1.Normalization = 'probability';
h1.BinWidth = 0.25;
h2.Normalization = 'probability';
h2.BinWidth = 0.25;
Adjust Histogram Properties
Сгенерируйте 1 000 случайных чисел и создайте гистограмму. Возвратите объект гистограммы настроить свойства гистограммы, не воссоздавая целый график.
x = randn(1000,1);
h = histogram(x)
h =
Histogram with properties:
Data: [1000x1 double]
Values: [1x23 double]
NumBins: 23
BinEdges: [1x24 double]
BinWidth: 0.3000
BinLimits: [-3.3000 3.6000]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Задайте точно сколько интервалов, чтобы использовать.
h.NumBins = 15;
Задайте края интервалов с вектором. Первое значение в векторе является левым краем первого интервала. Последнее значение является правым краем последнего интервала.
h.BinEdges = [-3:3];
Измените цвет панелей гистограммы.
h.FaceColor = [0 0.5 0.5];
h.EdgeColor = 'r';
Определение базового распределения вероятностей
Сгенерируйте 5 000 нормально распределенных случайных чисел со средним значением 5 и стандартным отклонением 2. Постройте график гистограммы с набором
Normalization
к 'pdf'
, чтобы произвести оценку функции плотности вероятности.
x = 2*randn(5000,1) + 5;
histogram(x,'Normalization','pdf')
В этом примере известно базовое распределение для нормально распределенных данных. Можно, однако, использовать график гистограммы
'pdf'
определить базовое распределение вероятностей данных путем сравнения его с известной функцией плотности вероятности.
Функция плотности вероятности для нормального распределения со средним значением
, стандартным отклонением
и отклонением

Наложите график функции плотности вероятности для нормального распределения со средним значением 5 и стандартным отклонением 2.
hold on
y = -5:0.1:15;
mu = 5;
sigma = 2;
f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));
plot(y,f,'LineWidth',1.5)

Сохранение и загрузка объектов гистограммы
Используйте функцию
savefig
, чтобы сохранить фигуру гистограммы.
y = histogram(randn(10));
savefig('histogram.fig');
clear all
close all
Используйте
openfig
, чтобы загрузить фигуру гистограммы назад в MATLAB. openfig
также возвращает указатель на фигуру, h
.
h = openfig('histogram.fig');
Используйте функцию
findobj
, чтобы определить местоположение указателя правильного объекта от указателя фигуры. Это позволяет, вы, чтобы продолжить управлять исходным объектом гистограммы раньше генерировали фигуру.
y = findobj(h, 'type', 'histogram')
y =
Histogram with properties:
Data: [10x10 double]
Values: [2 17 28 32 16 3 2]
NumBins: 7
BinEdges: [-3 -2 -1 0 1 2 3 4]
BinWidth: 1
BinLimits: [-3 4]
Normalization: 'count'
FaceColor: 'auto'
EdgeColor: [0 0 0]
Show all properties
Советы
Графики гистограммы, созданные с помощью
histogram
, имеют контекстное меню в режиме редактирования графика, который включает интерактивные манипуляции в окне фигуры. Например, можно использовать контекстное меню, чтобы в интерактивном режиме изменить количество интервалов, выровнять несколько гистограмм или изменить порядок отображения.
Расширенные возможности
"Высокие" массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Эта функция поддерживает высокие массивы с ограничениями:
Некоторые входные опции не поддержаны. Позволенные опции:
BinWidth
'BinLimits'
'Normalization'
DisplayStyle
BinMethod
'auto'
и методы интервала 'scott'
являются тем же самым. Метод интервала 'fd'
не поддержан.
EdgeAlpha
'EdgeColor'
'FaceAlpha'
'FaceColor'
'LineStyle'
'LineWidth'
'Orientation'
Кроме того, существует прописная буква на максимальном количестве панелей. Максимум по умолчанию равняется 100.
morebins
и методы fewerbins
не поддержаны.
При редактировании свойств объекта гистограммы, которые требуют, не поддержано перевычисление интервалов.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Массивы GPU
Ускорьте код путем работы графического процессора (GPU) с помощью Параллельных вычислений Toolbox™.
Указания и ограничения по применению:
Эта функция принимает массивы GPU, но не работает на GPU.
Для получения дополнительной информации смотрите функции MATLAB Выполнения на GPU (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Параллельных вычислений Toolbox™.
Указания и ограничения по применению:
Эта функция работает с распределенными массивами, но выполняет в клиенте MATLAB®.
Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).
Смотрите также
Histogram Properties |
дискретизация
| fewerbins
| histcounts
| histcounts2
| histogram2
| morebins
Введенный в R2014b
Была ли эта тема полезной?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.