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, colorizer=None, data=None, **kwargs)[source]#
绘制点 x, y 的 2D 六边形分箱图。
如果 C 为 None,六边形的值由六边形中的点数决定。否则,C 指定坐标 (x[i], y[i]) 处的值。对于每个六边形,这些值会使用 reduce_C_function 进行缩减。
- 参数:
- x, y类数组
数据位置。x 和 y 的长度必须相同。
- C类数组,可选
如果给定,这些值将在 bin 中累积。否则,每个点的值为 1。必须与 x 和 y 的长度相同。
- gridsize整数或 (整数, 整数),默认值: 100
如果为单个整数,则表示 x 方向上的六边形数量。y 方向上的六边形数量选择是为了使六边形近似规则。
或者,如果为元组 (nx, ny),则表示 x 方向和 y 方向上的六边形数量。在 y 方向上,计数是沿着垂直对齐的六边形进行的,而不是沿着六边形的锯齿形链进行;请参阅以下插图。
为了获得近似规则的六边形,请选择 \(n_x = \sqrt{3}\,n_y\)。
- bins'log' 或 整数 或 序列,默认值: None
六边形值的离散化。
如果为 None,则不应用分箱;每个六边形的颜色直接对应其计数。
如果为 'log',则对颜色映射使用对数刻度。在内部,使用 \(log_{10}(i+1)\) 来确定六边形的颜色。这等同于
norm=LogNorm()
。如果为整数,则将计数划分为指定数量的 bin,并相应地为六边形着色。
如果为值序列,则为要使用的 bin 的下限值。
- xscale{'linear', 'log'},默认值: 'linear'
在水平轴上使用线性或 log10 刻度。
- yscale{'linear', 'log'},默认值: 'linear'
在垂直轴上使用线性或 log10 刻度。
- mincnt整数 >= 0,默认值: None
如果不是 None,则仅显示单元格中至少包含 mincnt 个点的单元格。
- marginals布尔值,默认值: False
如果 marginals 为 True,则将边缘密度绘制为沿着 x 轴底部和 y 轴左侧的彩色映射矩形。
- extent4 浮点元组,默认值: None
bin 的限制 (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
一个定义六边形 bin 的
PolyCollection
。PolyCollection.get_offsets
包含一个 Mx2 数组,其中包含 M 个六边形中心在数据坐标中的 x、y 位置。PolyCollection.get_array
包含 M 个六边形的值。
如果 marginals 为 True,则水平条和垂直条(均为 PolyCollection)将作为属性 hbar 和 vbar 附加到返回的集合中。
- 其他参数:
- cmap字符串或
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。
- norm字符串或
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} 或 颜色,默认值: 'face'
六边形边缘的颜色。可能的值有:
'face':将边缘绘制成与填充颜色相同的颜色。
'none':不绘制边缘。这有时可能导致六边形之间出现难看的未填充像素。
None:以默认颜色绘制轮廓。
显式颜色。
- reduce_C_function可调用对象,默认值:
numpy.mean
在 bin 中聚合 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
字符串
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}对象
linestyle
或dashes
或linestyles
或ls
字符串或元组或其列表
linewidth
或linewidths
或lw
浮点数或浮点数列表
布尔值
Normalize
或 字符串 或 None(N, 2) 或 (2,) 类数组
list of
AbstractPathEffect
类数组列表
None 或 布尔值 或 浮点数 或 可调用对象
浮点数
布尔值
sizes
numpy.ndarray
或 None(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
字符串
urls
类数组列表
未知
布尔值
浮点数
- cmap字符串或
另请参阅
hist2d
二维直方图矩形 bin
备注
注意
这是 pyplot 包装器,用于
axes.Axes.hexbin
。