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]
-
Построение гистограммы.
Вычисление и построение гистограммы для x. Возвращаемое значение — кортеж (n, bins, patches) или ([n0, n1, ...], bins, [patches0, patches1, ...]) если входные данные содержат несколько наборов данных. Обратитесь к документации параметра weights, чтобы построить гистограмму уже распределённых данных.
Несколько наборов данных могут быть предоставлены через x как список наборов данных с потенциально различной длиной ([x0, x1, ...]), или как двумерный массив NumPy, где каждый столбец представляет набор данных. Обратите внимание, что форма массива NumPy транспонирована по отношению к форме списка.
Маскированные массивы не поддерживаются.
Параметры bins, range, weights и density работают так же, как и в
numpy.histogram.Параметры: - 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, сумма гистограмм нормализуется до 1.
- weights(n,) array-like или None, по умолчанию: None
-
Массив весов, такой же формы, как и x. Каждое значение в x вносит свой соответствующий вес в подсчёт интервалов (вместо 1). Если density —
True, веса нормализуются так, чтобы интеграл плотности в заданном диапазоне оставался равным 1.Этот параметр может использоваться для построения гистограммы данных, уже сгруппированных в интервалы, например, с помощью
numpy.histogram(обращаясь к каждому интервалу как к отдельной точке с весом, равным количеству элементов в этом интервале)counts, bins = np.histogram(data) plt.hist(bins[:-1], bins, weights=counts)
(или вы можете альтернативно использовать
bar()). - cumulativebool или -1, по умолчанию: False
-
Если
True, то вычисляется гистограмма, где каждый интервал даёт количество элементов в этом интервале плюс все элементы в интервалах с меньшими значениями. Последний интервал даёт общее количество элементов данных.Если также указан density, то гистограмма нормализуется так, чтобы последний интервал был равен 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цвет или массив цветов или 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или список таких объектов -
Контейнер отдельных объектов, используемых для построения гистограммы, или список таких контейнеров, если передано несколько наборов входных данных.
Другие параметры: - **kwargs
-
Patchсвойства
См. также
hist2d- Двумерные гистограммы
Примечания
Для большого числа интервалов (>1000) 'step' и 'stepfilled' могут быть значительно быстрее, чем 'bar' и 'barstacked'.
Примечание
В дополнение к вышеописанным аргументам, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы могут быть строками
s, которые интерпретируются какdata[s](если это не вызывает исключения): x, weights.Объекты, переданные как data, должны поддерживать доступ по элементам (
data[s]) и проверку на членство (s in data).
Примеры использования matplotlib.pyplot.hist
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.pyplot.hist.html