Spec-Zone.ru › NumPy 1.13

numpy.histogram2d

numpy.histogram2d(x, y, bins=10, range=None, normed=False, weights=None) [source]

Вычислить двумерную гистограмму двух наборов данных.

Параметры:

x : array_like, форма (N,)

Массив, содержащий координаты x точек, для которых необходимо вычислить гистограмму.

y : array_like, форма (N,)

Массив, содержащий координаты y точек, для которых необходимо вычислить гистограмму.

bins : int или array_like или [int, int] или [array, array], необязательно

Указание бинов:

  • Если int, количество бинов для двух измерений (nx=ny=bins).
  • Если array_like, границы бинов для двух измерений (x_edges=y_edges=bins).
  • Если [int, int], количество бинов в каждом измерении (nx, ny = bins).
  • Если [array, array], границы бинов в каждом измерении (x_edges, y_edges = bins).
  • Сочетание [int, array] или [array, int], где int - количество бинов, а array - границы бинов.

range : array_like, форма (2,2), необязательно

Левая и правая границы бинов по каждому измерению (если они не заданы явно в параметрах bins) : [[xmin, xmax], [ymin, ymax]]. Все значения вне этого диапазона будут считаться выбросами и не учитываться в гистограмме.

normed : bool, необязательно

Если False, возвращает количество выборок в каждом бине. Если True, возвращает плотность бинов bin_count / sample_count / bin_area.

weights : array_like, форма (N,), необязательно

Массив значений w_i взвешивающих каждую выборку (x_i, y_i). Веса нормализуются до 1, если normed равно True. Если normed равно False, значения возвращаемой гистограммы равны сумме весов, относящихся к выборкам, попадающим в каждый bin.

Возвращает:

H : ndarray, форма (nx, ny)

Двумерная гистограмма выборок x и y. Значения в x гистограммируются вдоль первого измерения, а значения в y гистограммируются вдоль второго измерения.

xedges : ndarray, форма (nx+1,)

Границы бинов вдоль первого измерения.

yedges : ndarray, форма (ny+1,)

Границы бинов вдоль второго измерения.

См. также

histogram
1D гистограмма
histogramdd
Многомерная гистограмма

Примечания

Когда normed равно True, возвращаемая гистограмма является плотностью выборки, определённой таким образом, что сумма по битам произведения bin_value * bin_area равна 1.

Обратите внимание, что гистограмма не следует картезианской конвенции, где значения x находятся на абсциссе, а значения y на оси ординат. Вместо этого значения x гистограммируются вдоль первого измерения массива (вертикально), а значения y вдоль второго измерения массива (горизонтально). Это обеспечивает совместимость с histogramdd.

Примеры

>>> import matplotlib as mpl
>>> import matplotlib.pyplot as plt

Постройте 2-мерную гистограмму с переменной шириной бинов. Сначала определите границы бинов:

>>> xedges = [0, 1, 3, 5]
>>> yedges = [0, 2, 3, 4, 6]

Далее мы создаём гистограмму H с случайным содержимым бинов:

>>> x = np.random.normal(2, 1, 100)
>>> y = np.random.normal(1, 1, 100)
>>> H, xedges, yedges = np.histogram2d(x, y, bins=(xedges, yedges))
>>> H = H.T  # Let each row list bins with common y range.

imshow может отображать только квадратные бины:

>>> fig = plt.figure(figsize=(7, 3))
>>> ax = fig.add_subplot(131, title='imshow: square bins')
>>> plt.imshow(H, interpolation='nearest', origin='low',
...         extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

pcolormesh может отображать фактические границы:

>>> ax = fig.add_subplot(132, title='pcolormesh: actual edges',
...         aspect='equal')
>>> X, Y = np.meshgrid(xedges, yedges)
>>> ax.pcolormesh(X, Y, H)

NonUniformImage может использоваться для отображения фактических границ бинов с интерполяцией:

>>> ax = fig.add_subplot(133, title='NonUniformImage: interpolated',
...         aspect='equal', xlim=xedges[[0, -1]], ylim=yedges[[0, -1]])
>>> im = mpl.image.NonUniformImage(ax, interpolation='bilinear')
>>> xcenters = (xedges[:-1] + xedges[1:]) / 2
>>> ycenters = (yedges[:-1] + yedges[1:]) / 2
>>> im.set_data(xcenters, ycenters, H)
>>> ax.images.append(im)
>>> plt.show()

(Исходный код, png, pdf)

../../_images/numpy-histogram2d-1.png

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.histogram2d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API