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]
-
Создайте 2D-график с гексагональными ячейками для точек 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,2x.png,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 float, по умолчанию: 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, vmaxfloat, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Недопустимо использовать vmin/vmax при заданном объекте norm (но использование строкового norm вместе с vmin/vmax допустимо).
- alphaзначение от 0 до 1, необязательно
-
Значение смешивания альфа, между 0 (прозрачный) и 1 (непрозрачный).
- linewidthsfloat, по умолчанию: None
-
Если None, по умолчанию устанавливается на
rcParams["patch.linewidth"](по умолчанию: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: значение, взятое от наибольшей точки
По умолчанию, обрабатывает только ячейки с как минимум одной точкой, потому что некоторые функции сокращения (например,
numpy.amax) будут возвращать ошибку/предупреждение при пустых входных данных. Изменение mincnt позволит настроить порог, а установка его в 0 передаст пустой ввод в функцию сокращения. -
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения):x, y, C
-
**kwargs
PolyCollectionсвойства -
Все остальные ключевые параметры передаются
PolyCollection:
-
cmapстрока или
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от левого нижнего угла изображения
массивоподобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
массивоподобный объект или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
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,) массивоподобный объект
список
AbstractPathEffectсписок массивоподобных объектов
None или bool или число с плавающей точкой или вызываемая функция
число с плавающей точкой
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивоподобных объектов
неизвестно
bool
Примеры использования matplotlib.pyplot.hexbin
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/_as_gen/matplotlib.pyplot.hexbin.html