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 六边形分箱图。
如果 C 为 None,六边形的值由六边形中的点数决定。否则,C 指定坐标 (x[i], y[i]) 处的值。对于每个六边形,这些值使用 reduce_C_function 进行缩减。
- 参数:
- x, y类数组
数据位置。x 和 y 的长度必须相同。
- Carray-like,可选
如果给定,这些值将累积到分箱中。否则,每个点的值为1。其长度必须与 x 和 y 相同。
- gridsizeint 或 (int, int),默认值:100
如果是一个整数,表示 x 方向上的六边形数量。y 方向上的六边形数量选择使六边形近似规则。
或者,如果是一个元组 (nx, ny),表示 x 方向和 y 方向上的六边形数量。在 y 方向上,计数是沿着垂直对齐的六边形进行的,而不是沿着六边形的锯齿形链进行的;参见下面的插图。
要获得近似规则的六边形,请选择 \(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
如果 marginals 为 True,则将边际密度绘制为沿 x 轴底部和 y 轴左侧的颜色映射矩形。
- extent4元素浮点元组,默认值:None
分箱的限制 (xmin, xmax, ymin, ymax)。默认值根据 gridsize、x、y、xscale 和 yscale 分配限制。
如果 xscale 或 yscale 设置为 'log',则限制应为 10 的幂的指数。例如,对于 'linear' 刻度下的 x 限制 1 和 50,以及 'log' 刻度下的 y 限制 10 和 1000,请输入 (1, 50, 1, 3)。
- 返回:
PolyCollection
一个定义六边形分箱的
PolyCollection
对象。PolyCollection.get_offsets
包含一个 Mx2 数组,其中包含数据坐标中 M 个六边形中心的 x, y 位置。PolyCollection.get_array
包含 M 个六边形的值。
如果 marginals 为 True,则水平条形和垂直条形(均为 PolyCollections)将作为属性 hbar 和 vbar 附加到返回的集合中。
- 其他参数:
- cmapstr 或
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。
- normstr 或
Normalize
,可选 在采用 cmap 映射颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。
如果给定,可以是以下之一
一个比例名称,即“linear”、“log”、“symlog”、“logit”等之一。有关可用比例的列表,请调用
matplotlib.scale.get_scale_names()
。在这种情况下,将动态生成并实例化一个合适的Normalize
子类。
- vmin, vmax浮点型,可选
当使用标量数据且没有显式 norm 时,vmin 和 vmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。在给定 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
常用函数包括:
numpy.mean
:点的平均值numpy.sum
:点值的积分numpy.amax
:从最大点取值
默认情况下,仅缩减至少包含 1 个点的单元格,因为某些缩减函数(例如
numpy.amax
)在空输入时会出错/警告。更改 mincnt 将调整截止点,如果设置为 0,则将空输入传递给缩减函数。- colorizer
Colorizer
或 None,默认值:None 用于将颜色映射到数据的 Colorizer 对象。如果为 None,则从 norm 和 cmap 创建一个 Colorizer 对象。
- data可索引对象,可选
如果给定,以下参数也接受字符串
s
,如果s
是data
中的一个键,则将其解释为data[s]
。x, y, C
- **kwargs
PolyCollection
属性 所有其他关键字参数都传递给
PolyCollection
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
类数组或浮点数或 None
布尔值
布尔值或布尔值列表
类数组或 None
CapStyle
或 {'butt', 'projecting', 'round'}(vmin: 浮点数, vmax: 浮点数)
BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
Colormap
或 字符串 或 None颜色 或 RGBA 元组列表
edgecolor
或ec
或edgecolors
facecolor
或facecolors
或fc
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}object
linestyle
或dashes
或linestyles
或ls
字符串或元组或其列表
linewidth
或linewidths
或lw
浮点数或浮点数列表
布尔值
Normalize
或 字符串 或 None(N, 2) 或 (2,) 类数组
类数组列表
None 或 布尔值 或 浮点数 或 可调用对象
浮点数
布尔值
sizes
numpy.ndarray
或 None(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
str
urls
类数组列表
未知
布尔值
浮点数
- cmapstr 或
另请参阅
hist2d
2D 直方图矩形分箱