matplotlib.pyplot.hist
- matplotlib.pyplot.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, автоматическое масштабирование основано на заданном диапазоне bins, а не на диапазоне значений x.
- densitybool, по умолчанию: False
-
Если
True, строит и возвращает плотность вероятности: каждая группа отображается как сырой подсчёт значений в группе, разделённый на общее количество подсчётов и ширину группы (density = counts / (sum(counts) * np.diff(bins))), таким образом, площадь под гистограммой интегрируется до 1 (np.sum(density * np.diff(bins)) == 1).Если также задан stacked —
True, сумма гистограмм нормируется до 1. - weights(n,) массив или None, по умолчанию: None
-
Массив весов, с тем же размером, что и x. Каждое значение в x вносит в подсчёт группы свой вес (вместо 1). Если density —
True, веса нормируются так, чтобы интеграл плотности в заданном диапазоне оставался равным 1. - cumulativebool или -1, по умолчанию: False
-
Если
True, вычисляется гистограмма, где каждая группа содержит подсчеты в этой группе плюс все группы с меньшими значениями. Последняя группа содержит общее количество точек данных.Если также задано density —
True, то гистограмма нормируется так, что последняя группа равна 1.Если cumulative — число меньше 0 (например, -1), направление накопления меняется. В этом случае, если density также
True, гистограмма нормируется так, что первая группа равна 1. - bottomмассив, скаляр или 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цвет или массив цветов или None, по умолчанию: None
-
Цвет или последовательность цветов, по одному на набор данных. По умолчанию (
None) используется стандартная последовательность цветов линий. - labelстрока или None, по умолчанию: None
-
Строка или последовательность строк для соответствия нескольким наборам данных. Гистограммы в виде столбцов возвращают несколько объектов patches на набор данных, но только первый получает метку, чтобы
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.pyplot.hist
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.hist.html