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)[源代码][源代码]#
绘制点 x, y 的二维六边形分箱图。
如果 C 是 None,六边形的值由六边形内的点数决定。否则,C 指定坐标 (x[i], y[i]) 处的值。对于每个六边形,这些值通过 reduce_C_function 进行缩减。
- 参数:
- x, y类数组
数据位置。x 和 y 的长度必须相同。
- C类数组, 可选
如果给出,这些值将被累积到各个箱子中。否则,每个点的值为1。必须与 x 和 y 的长度相同。
- 网格大小int 或 (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'
在水平轴上使用线性或对数(log10)刻度。
- yscale{'linear', 'log'}, 默认: 'linear'
在垂直轴上使用线性或对数(log10)刻度。
- mincnt : int >= 0, 默认: Noneint >= 0, 默认值:
如果不是 None,则只显示单元格中至少有 mincnt 个点的单元格。
- marginals : bool, 默认: Falsebool, 默认值:
如果 marginals 为 True,则在 x 轴底部和 y 轴左侧绘制边缘密度作为颜色映射的矩形。
- extent : 4个浮点数的元组, 默认: None4个浮点数的元组,默认值:
箱子的边界(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 附加到返回的集合中。
- 其他参数:
- cmap : str 或
Colormap
,默认值:rcParams["image.cmap"]
(default:'viridis'
)str 或 用于将标量数据映射为颜色的 Colormap 实例或已注册的 colormap 名称。
- norm : str 或
Normalize
,可选str 或 在将标量数据映射到颜色之前,用于将标量数据缩放到 [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 一起是可以接受的)。- alpha介于 0 和 1 之间的浮点数,可选
alpha 混合值,介于 0(透明)和 1(不透明)之间。
- linewidths : float, 默认: None浮点数, 默认值:
如果为 None,则默认为
rcParams["patch.linewidth"]
(default:1.0
)。- edgecolors : {'face', 'none', None} 或颜色, 默认: 'face'{'face', 'none',}
六边形边缘的颜色。可能的值有:
'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,则会将空输入传递给减少函数。- 数据可索引对象,可选
如果给出,以下参数也接受一个字符串
s
,如果s
是data
中的一个键,则解释为data[s]
:x, y, C
- **kwargs :
PolyCollection
属性PolyCollection 属性 所有其他关键字参数都会传递给
PolyCollection
:属性
描述
一个过滤函数,它接收一个 (m, n, 3) 浮点数数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
类数组或标量或无
布尔
抗锯齿
或 aa 或 antialiaseds布尔值或布尔值列表
类似数组或无
CapStyle
或 {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBase
或 None布尔
补丁或(路径,变换)或无
Colormap
或 str 或 Nonecolor 或 RGBA 元组列表
edgecolor
或 ec 或 edgecolorsfacecolor
或 facecolors 或 fcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}对象
线条样式
或虚线或线条样式或 lsstr 或 tuple 或其列表
linewidth
或 linewidths 或 lw浮点数或浮点数列表
布尔
Normalize
或 str 或 Noneoffset_transform
或 transOffset(N, 2) 或 (2,) 数组类
类似数组的列表
None 或 bool 或 float 或 callable
浮动
布尔
sizes
numpy.ndarray
或 None(scale: float, length: float, randomness: float)
布尔值或无
str
list of str or None
类似数组的列表
未知
布尔
浮动
- cmap : str 或
参见
hist2d
2D 直方图矩形箱