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, colorizer=None, data=None, **kwargs)[源码]#

绘制点 x, y 的 2D 六边形分箱图。

如果 CNone,六边形的值由六边形中的点数决定。否则,C 指定坐标 (x[i], y[i]) 处的值。对于每个六边形,这些值使用 reduce_C_function 进行缩减。

参数:
x, y类数组

数据位置。xy 的长度必须相同。

Carray-like,可选

如果给定,这些值将累积到分箱中。否则,每个点的值为1。其长度必须与 xy 相同。

gridsizeint 或 (int, int),默认值:100

如果是一个整数,表示 x 方向上的六边形数量。y 方向上的六边形数量选择使六边形近似规则。

或者,如果是一个元组 (nx, ny),表示 x 方向和 y 方向上的六边形数量。在 y 方向上,计数是沿着垂直对齐的六边形进行的,而不是沿着六边形的锯齿形链进行的;参见下面的插图。

(源代码, 2x.png, png)

要获得近似规则的六边形,请选择 \(n_x = \sqrt{3}\,n_y\)

bins'log' 或 int 或 sequence,默认值:None

六边形值的离散化。

  • 如果为 None,则不应用分箱;每个六边形的颜色直接对应于其计数。

  • 如果为 'log',则对颜色映射使用对数刻度。内部使用 \(log_{10}(i+1)\) 来确定六边形颜色。这等同于 norm=LogNorm()

  • 如果是一个整数,则将计数分成指定数量的箱,并相应地为六边形着色。

  • 如果是一系列值,则为要使用的箱的下限值。

xscale{'linear', 'log'},默认值:'linear'

在水平轴上使用线性或对数10刻度。

yscale{'linear', 'log'},默认值:'linear'

在垂直轴上使用线性或对数10刻度。

mincntint >= 0,默认值:None

如果不是 None,则只显示单元格中至少包含 mincnt 个点的单元格。

marginals布尔值,默认值:False

如果 marginalsTrue,则将边际密度绘制为沿 x 轴底部和 y 轴左侧的颜色映射矩形。

extent4元素浮点元组,默认值:None

分箱的限制 (xmin, xmax, ymin, ymax)。默认值根据 gridsizexyxscaleyscale 分配限制。

如果 xscaleyscale 设置为 'log',则限制应为 10 的幂的指数。例如,对于 'linear' 刻度下的 x 限制 1 和 50,以及 'log' 刻度下的 y 限制 10 和 1000,请输入 (1, 50, 1, 3)。

返回:
PolyCollection

一个定义六边形分箱的 PolyCollection 对象。

如果 marginalsTrue,则水平条形和垂直条形(均为 PolyCollections)将作为属性 hbarvbar 附加到返回的集合中。

其他参数:
cmapstr 或 Colormap,默认值:rcParams["image.cmap"] (默认值: 'viridis')

用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。

normstr 或 Normalize,可选

在采用 cmap 映射颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。

如果给定,可以是以下之一

vmin, vmax浮点型,可选

当使用标量数据且没有显式 norm 时,vminvmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。在给定 norm 实例时使用 vmin/vmax 是错误的(但将 str norm 名称与 vmin/vmax 一起使用是可以接受的)。

alpha0 到 1 之间的浮点数,可选

alpha 混合值,介于 0(透明)和 1(不透明)之间。

linewidths浮点数,默认值:None

如果为 None,则默认为 rcParams["patch.linewidth"] (默认值: 1.0)。

edgecolors{'face', 'none', None} 或 color,默认值:'face'

六边形边缘的颜色。可能的值有:

  • 'face':以与填充颜色相同的颜色绘制边缘。

  • 'none':不绘制边缘。这有时可能导致六边形之间出现难看的未着色像素。

  • None:以默认颜色绘制轮廓。

  • 一个明确的颜色。

reduce_C_function可调用对象,默认值:numpy.mean

用于在分箱内聚合 C 的函数。如果未给定 C,则忽略此参数。它必须具有以下签名:

def reduce_C_function(C: array) -> float

常用函数包括:

默认情况下,仅缩减至少包含 1 个点的单元格,因为某些缩减函数(例如 numpy.amax)在空输入时会出错/警告。更改 mincnt 将调整截止点,如果设置为 0,则将空输入传递给缩减函数。

colorizerColorizer 或 None,默认值:None

用于将颜色映射到数据的 Colorizer 对象。如果为 None,则从 normcmap 创建一个 Colorizer 对象。

data可索引对象,可选

如果给定,以下参数也接受字符串 s,如果 sdata 中的一个键,则将其解释为 data[s]

x, y, C

**kwargsPolyCollection 属性

所有其他关键字参数都传递给 PolyCollection

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

类数组或浮点数或 None

animated

布尔值

antialiasedaaantialiaseds

布尔值或布尔值列表

array

类数组或 None

capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

clim

(vmin: 浮点数, vmax: 浮点数)

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

cmap

Colormap 或 字符串 或 None

color

颜色 或 RGBA 元组列表

edgecolorecedgecolors

颜色颜色 列表 或 'face'

facecolorfacecolorsfc

颜色颜色 列表

figure

FigureSubFigure

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

未知

in_layout

布尔值

joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

label

object

linestyledasheslinestylesls

字符串或元组或其列表

linewidthlinewidthslw

浮点数或浮点数列表

mouseover

布尔值

norm

Normalize 或 字符串 或 None

offset_transformtransOffset

变换

offsets

(N, 2) 或 (2,) 类数组

path_effects

AbstractPathEffect 列表

paths

类数组列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

pickradius

浮点数

rasterized

布尔值

sizes

numpy.ndarray 或 None

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

字符串列表或 None

urls

verts

类数组列表

verts_and_codes

未知

visible

布尔值

zorder

浮点数

另请参阅

hist2d

2D 直方图矩形分箱

使用 matplotlib.axes.Axes.hexbin 的示例#

六边形分箱图

六边形分箱图

hexbin(x, y, C)

hexbin(x, y, C)