matplotlib.axes.Axes.hexbin
- Axes.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'
-
Используйте линейную или логарифмическую шкалу по оси абсцисс.
- yscale{'linear', 'log'}, по умолчанию: 'linear'
-
Используйте линейную или логарифмическую шкалу по оси ординат.
- 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-
А
PolyCollectionопределяющий шестиугольные ячейки.-
PolyCollection.get_offsetsсодержит Mx2 массив, содержащий x, y координаты центров M шестиугольников. -
PolyCollection.get_arrayсодержит значения M шестиугольников.
Если marginals равно True, горизонтальная и вертикальная полосы (обе PolyCollections) будут добавлены к возвращаемому объекту как атрибуты hbar и vbar.
-
- Другие параметры:
-
-
cmapstr или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Экземпляр Colormap или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
-
normstr или
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 (непрозрачный).
- linewidthsчисло, по умолчанию: 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: значение, взятое из максимальной точки
По умолчанию будут уменьшены только ячейки с не менее чем 1 точкой, так как некоторые функции уменьшения (например,
numpy.amax) вызывают ошибку/предупреждение с пустым входом. Изменение mincnt настроит пороговое значение, и если оно будет равно 0, пустой вход будет передан в функцию уменьшения. -
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение):x, y, C
-
**kwargs
PolyCollectionсвойства -
Все остальные ключевые аргументы передаются
PolyCollection:
-
cmapstr или
Свойство
Описание
функция фильтра, которая принимает массив float (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.axes.Axes.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.axes.Axes.hexbin.html