matplotlib.axes.Axes.hist
- Axes.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)[source]
-
Вычисление и построение гистограммы.
Этот метод использует
numpy.histogramдля группировки данных в x и подсчёта количества значений в каждой группе, затем строит распределение в видеBarContainerилиPolygon. Параметры bins, range, density и weights передаются вnumpy.histogram.Если данные уже сгруппированы и подсчитаны, используйте
barилиstairsдля построения распределения:counts, bins = np.histogram(x) plt.stairs(bins, counts)
В качестве альтернативы, постройте предварительно вычисленные группы и подсчёты, используя
hist(), рассматривая каждую группу как отдельную точку с весом, равным её подсчёту:plt.hist(bins[:-1], bins, weights=counts)
Входные данные x могут представлять собой массив, список наборов данных потенциально различной длины ([x0, x1, ...]) или двумерный массив NumPy, в котором каждый столбец представляет собой набор данных. Обратите внимание, что форма массива NumPy транспонирована относительно формы списка. Если входные данные представляют собой массив, то возвращаемое значение является кортежем (n, bins, patches); если входные данные являются последовательностью массивов, то возвращаемое значение является кортежем ([n0, n1, ...], bins, [patches0, patches1, ...]).
Маскированные массивы не поддерживаются.
- Параметры:
-
- x(n,) массив или последовательность (n,) массивов
-
Входные значения, принимающие либо одиночный массив, либо последовательность массивов, не обязательно одинаковой длины.
-
binsцелое число, последовательность или строка, по умолчанию:
rcParams["hist.bins"](по умолчанию:10) -
Если bins является целым числом, оно определяет количество равномерных интервалов в диапазоне.
Если bins является последовательностью, она определяет границы интервалов, включая левую границу первого интервала и правую границу последнего интервала; в этом случае интервалы могут иметь неравномерную ширину. Все интервалы, кроме последнего (правого), являются полуоткрытыми. Другими словами, если bins является:
[1, 2, 3, 4]
то первый интервал является
[1, 2)(включая 1, но не включая 2), а второй[2, 3). Однако последний интервал[3, 4], который включает 4.Если bins является строкой, она соответствует одной из стратегий разбиения, поддерживаемым
numpy.histogram_bin_edges: 'auto', 'fd', 'doane', 'scott', 'stone', 'rice', 'sturges' или 'sqrt'. - rangeкортеж или None, по умолчанию: None
-
Диапазон интервалов. Значения вне диапазона игнорируются. Если не указано, range
(x.min(), x.max()). Параметр range не имеет эффекта, если bins является последовательностью.Если bins является последовательностью или range указан, масштабирование по умолчанию основано на заданном диапазоне интервалов вместо диапазона x.
- densitybool, по умолчанию: False
-
Если
True, рисуется и возвращается плотность вероятности: каждый интервал будет отображать количество значений в интервале, делённое на общее количество значений и ширину интервала (density = counts / (sum(counts) * np.diff(bins))) так, что площадь под гистограммой интегрируется к 1 (np.sum(density * np.diff(bins)) == 1).Если также stacked
True, сумма гистограмм будет нормирована к 1. - weights(n,) array-like или None, по умолчанию: None
-
Массив весов, с тем же размером, что и x. Каждое значение в x вносит свой связанный вес в подсчёт интервалов (вместо 1). Если density
True, веса нормируются так, что интеграл плотности по диапазону остаётся равным 1. - cumulativebool или -1, по умолчанию: False
-
Если
True, то вычисляется гистограмма, где каждый интервал даёт количество значений в этом интервале плюс все интервалы с меньшими значениями. Последний интервал даёт общее количество точек данных.Если также density
True, гистограмма нормируется таким образом, что последний интервал равен 1.Если cumulative – число меньше 0 (например, -1), направление накопления меняется. В этом случае, если также density
True, гистограмма нормируется так, что первый интервал равен 1. - bottomarray-like, скаляр или None, по умолчанию: None
-
Позиция нижней границы каждого интервала, то есть интервалы строятся от
bottomдоbottom + hist(x, bins). Если скаляр, нижняя граница каждого интервала сдвигается на одинаковую величину. Если массив, каждый интервал сдвигается независимо, и длина bottom должна совпадать с количеством интервалов. Если None, по умолчанию 0. - histtype{'bar', 'barstacked', 'step', 'stepfilled'}, по умолчанию: 'bar'
-
Тип гистограммы для построения.
- 'bar' – традиционная гистограмма в виде столбцов. Если задано несколько наборов данных, столбцы располагаются рядом.
- 'barstacked' – гистограмма в виде столбцов, где несколько наборов данных накладываются друг на друга.
- 'step' – построение линий, по умолчанию без заливки.
- 'stepfilled' – построение линий, по умолчанию с заливкой.
- align{'left', 'mid', 'right'}, по умолчанию: 'mid'
-
Горизонтальное выравнивание столбцов гистограммы.
- 'left': столбцы центрированы по левым границам интервалов.
- 'mid': столбцы центрированы между границами интервалов.
- 'right': столбцы центрированы по правым границам интервалов.
- orientation{'vertical', 'horizontal'}, по умолчанию: 'vertical'
-
Если 'horizontal', будет использоваться
barhдля гистограмм в виде столбцов, а аргумент bottom будет представлять левые границы. - rwidthfloat или None, по умолчанию: None
-
Относительная ширина столбцов как доля ширины интервалов. Если
None, ширина вычисляется автоматически.Игнорируется, если histtype 'step' или 'stepfilled'.
- logbool, по умолчанию: False
-
Если
True, ось гистограммы будет задана в логарифмическом масштабе. - colorцвет или array-like цветов или None, по умолчанию: None
-
Цвет или последовательность цветов, по одному на каждый набор данных. По умолчанию (
None) используется стандартная последовательность цветов линий. - labelстрока или None, по умолчанию: None
-
Строка или последовательность строк для сопоставления нескольких наборов данных. Гистограммы в виде столбцов генерируют несколько объектов столбцов на набор данных, но метка применяется только к первому, чтобы
legendработало как ожидается. - stackedbool, по умолчанию: False
-
Если
True, несколько наборов данных накладываются друг на друга. ЕслиFalseнесколько наборов данных располагаются рядом, если histtype – 'bar', или накладываются друг на друга, если histtype – 'step'.
- Возвращает:
-
- nмассив или список массивов
-
Значения интервалов гистограммы. Смотрите density и weights для описания возможных семантик. Если вход x – это массив, то это массив длиной nbins. Если вход – это последовательность массивов
[data1, data2, ...], то это список массивов со значениями гистограмм для каждого массива в том же порядке. Тип данных массива n (или его элементов массивов) всегда будет float, даже если не используется взвешивание или нормализация. - binsмассив
-
Границы интервалов. Длина nbins + 1 (nbins левых границ и правая граница последнего интервала). Всегда одиночный массив, даже когда передаются несколько наборов данных.
-
patches
BarContainerили список одногоPolygonили список таких объектов -
Контейнер отдельных графических объектов, используемых для создания гистограммы, или список таких контейнеров, если передано несколько наборов данных.
- Дополнительные параметры:
-
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение):x, weights
- **kwargs
-
Свойства
Patch
См. также
Примечания
Для большого количества интервалов (>1000) построение может быть значительно быстрее, если histtype установлен в 'step' или 'stepfilled' вместо 'bar' или 'barstacked'.
Примеры использования matplotlib.axes.Axes.hist
Использование гистограмм для построения кумулятивного распределения
Функция гистограммы (hist) с несколькими наборами данных
Диаграмма рассеяния и гистограмма (Locatable Axes)
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.hist.html