matplotlib.pyplot.hexbin
- matplotlib.pyplot.hexbin(x, y, C=None, gridsize=100, bins=None, xscale='linear', yscale='linear', extent=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors='face', reduce_C_function=<function mean>, mincnt=None, marginals=False, *, data=None, **kwargs)[source]
-
Создайте двумерный шестиугольный график распределения точек x, y.
Если C равно None, значение шестиугольника определяется количеством точек в шестиугольнике. В противном случае, C задаёт значения в координате (x[i], y[i]). Для каждого шестиугольника эти значения уменьшаются с помощью функции reduce_C_function.
- Параметры:
-
- x, yarray-like
-
Позиции данных. x и y должны иметь одинаковую длину.
- Carray-like, необязательно
-
Если задано, эти значения накапливаются в ячейках. В противном случае каждая точка имеет значение 1. Должно иметь одинаковую длину с x и y.
- gridsizeint или (int, int), по умолчанию: 100
-
Если целое число, количество шестиугольников в направлении x. Количество шестиугольников в направлении y выбирается таким образом, чтобы шестиугольники были приблизительно правильными.
В качестве альтернативы, если кортеж (nx, ny), количество шестиугольников в направлениях x и y. В направлении y подсчёт ведётся вдоль вертикально расположенных шестиугольников, а не вдоль зигзагообразных цепочек шестиугольников; см. иллюстрацию ниже.
(
Source code,png)Для получения приблизительно правильных шестиугольников выберите \(n_x = \sqrt{3}\,n_y\).
- bins'log' или int или последовательность, по умолчанию: None
-
Дискретизация значений шестиугольников.
- Если None, никакой бинизации не применяется; цвет каждого шестиугольника напрямую соответствует его значению счётчика.
- Если 'log', используется логарифмическая шкала для цветовой карты. Внутренне, \(log_{10}(i+1)\) используется для определения цвета шестиугольника. Это эквивалентно
norm=LogNorm(). - Если целое число, количество ячеек разбиения указано, и шестиугольники раскрашиваются соответственно.
- Если последовательность значений, значения нижней границы ячеек для использования.
- xscale{'linear', 'log'}, по умолчанию: 'linear'
-
Использовать линейную или логарифмическую (по основанию 10) шкалу по горизонтальной оси.
- yscale{'linear', 'log'}, по умолчанию: 'linear'
-
Использовать линейную или логарифмическую (по основанию 10) шкалу по вертикальной оси.
- mincntint > 0, по умолчанию: None
-
Если не равно None, отображаются только ячейки с более чем mincnt точками в ячейке.
- marginalsbool, по умолчанию: False
-
Если marginals равно True, строятся маргинальные плотности в виде прямоугольников на цветовой шкале по нижней части оси x и слева от оси y.
- extentкортеж из 4 чисел с плавающей точкой, по умолчанию: None
-
Пределы ячеек (xmin, xmax, ymin, ymax). По умолчанию пределы устанавливаются на основе gridsize, x, y, xscale и yscale.
Если xscale или yscale установлено в 'log', пределы ожидаются как показатель степени 10. Например, для пределов x от 1 до 50 в линейной шкале и пределов y от 10 до 1000 в логарифмической шкале, введите (1, 50, 1, 3).
- Возвращаемые значения:
-
PolyCollection-
A
PolyCollectionопределяющий шестиугольные ячейки.-
PolyCollection.get_offsetsсодержит Mx2 массив с координатами x, y центров M шестиугольников. -
PolyCollection.get_arrayсодержит значения M шестиугольников.
Если marginals равно True, горизонтальная и вертикальная полосы (оба PolyCollections) будут присоединены к возвращаемому объекту как атрибуты hbar и vbar.
-
- Другие параметры:
-
-
cmapстрока или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Объект Colormap или имя зарегистрированной цветовой карты, используемое для сопоставления скалярных данных с цветами.
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных в диапазон [0, 1] перед сопоставлением с цветами с помощью cmap. По умолчанию используется линейное масштабирование, сопоставляющее наименьшее значение с 0, а наибольшее - с 1.
Если задано, это может быть одно из следующих:
- Экземпляр
Normalizeили один из его подклассов (см. Нормализация цветовой карты). - Имя шкалы, например, "linear", "log", "symlog", "logit" и т.д. Список доступных шкал можно получить, вызвав
matplotlib.scale.get_scale_names(). В этом случае генерируется и создается подходящий подклассNormalize.
- Экземпляр
- vmin, vmaxчисло с плавающей точкой, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который покрывает цветовая карта. По умолчанию цветовая карта покрывает весь диапазон значений предоставленных данных. Использование vmin/vmax при указанном экземпляре norm является ошибкой (но использование строки norm вместе с vmin/vmax приемлемо).
- alphaчисло с плавающей точкой от 0 до 1, необязательно
-
Значение альфа-смешения, от 0 (прозрачный) до 1 (непрозрачный).
- linewidthsчисло с плавающей точкой, по умолчанию: None
-
Если None, по умолчанию 1.0.
- edgecolors{'face', 'none', None} или цвет, по умолчанию: 'face'
-
Цвет краёв шестиугольников. Возможные значения:
- 'face': Рисовать края в том же цвете, что и цвет заливки.
- 'none': Края не рисуются. Это иногда может привести к некрасивым невыкрашенным пикселям между шестиугольниками.
- None: Рисовать контуры в стандартном цвете.
- Явный цвет.
-
reduce_C_functionвызываемая функция, по умолчанию:
numpy.mean -
Функция агрегирования C в ячейках. Она игнорируется, если C не задано. Она должна иметь следующую сигнатуру:
def reduce_C_function(C: array) -> float
Обычно используемые функции:
-
numpy.mean: среднее значение точек -
numpy.sum: интеграл значений точек -
numpy.amax: значение, взятое от самой большой точки
-
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение):x, y, C
-
**kwargs
PolyCollectionсвойства -
Все остальные ключевые параметры передаются в
PolyCollection:
-
cmapстрока или
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, а возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
массив-подобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
массив-подобный объект или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
bool
Объект Patch или (Path, Transform) или None
Colormapили строка или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили dashes или linestyles или lsстрока или кортеж или список
linewidthили linewidths или lwчисло с плавающей точкой или список чисел с плавающей точкой
bool
Normalizeили строка или Noneoffset_transformили transOffsetнеизвестно
(N, 2) или (2,) массив-подобный объект
список массивов-подобных объектов
None или bool или число с плавающей точкой или вызываемая функция
неизвестно
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивов-подобных объектов
неизвестно
bool
число с плавающей точкой
См. также
hist2d-
Прямоугольные бины 2D гистограммы
Примеры использования matplotlib.pyplot.hexbin
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.pyplot.hexbin.html