matplotlib.axes.Axes.scatter#
- Axes.scatter(x, y, s=None, c=None, *, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, colorizer=None, plotnonfinite=False, data=None, **kwargs)[source]#
一个散点图,显示 *y* 相对于 *x* 的值,标记大小和/或颜色可变。
- 参数:
- x, y浮点数或类数组,形状 (n, )
数据位置。
- s浮点数或类数组,形状 (n, ),可选
标记大小,单位为点**2(印刷点为 1/72 英寸)。默认为
rcParams['lines.markersize'] ** 2
。线宽和边缘颜色在视觉上会与标记大小相互作用,如果标记大小小于线宽,可能会导致伪影。
如果线宽大于 0 且边缘颜色不是 *'none'*,则标记的有效大小将增加线宽的一半,因为描边会以形状边缘为中心。
要消除标记边缘,请设置 *linewidth=0* 或 *edgecolor='none'*。
- c类数组或 颜色 列表或 颜色,可选
标记颜色。可能的值有:
一个标量或 n 个数字序列,使用 *cmap* 和 *norm* 映射到颜色。
一个二维数组,其行是 RGB 或 RGBA 值。
一个长度为 n 的颜色序列。
一个单一的颜色格式字符串。
请注意,*c* 不应是单一的数字 RGB 或 RGBA 序列,因为它与要进行颜色映射的值数组无法区分。如果要为所有点指定相同的 RGB 或 RGBA 值,请使用只有一行的二维数组。否则,如果大小与 *x* 和 *y* 匹配,则值匹配将具有优先权。
如果您希望为所有点指定单一颜色,请优先使用 *color* 关键字参数。
默认为
None
。在这种情况下,标记颜色由 *color*、*facecolor* 或 *facecolors* 的值决定。如果这些未指定或为None
,则标记颜色由Axes
当前的“形状和填充”颜色循环中的下一个颜色决定。此循环默认为rcParams["axes.prop_cycle"]
(默认值:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
)。- marker
MarkerStyle
,默认值:rcParams["scatter.marker"]
(默认值:'o'
) 标记样式。*marker* 可以是类的实例,也可以是特定标记的文本缩写。有关标记样式的更多信息,请参阅
matplotlib.markers
。- cmap字符串或
Colormap
,默认值:rcParams["image.cmap"]
(默认值:'viridis'
) 用于将标量数据映射到颜色的颜色映射实例或已注册的颜色映射名称。
如果 *c* 是 RGB(A) 格式,则此参数将被忽略。
- norm字符串或
Normalize
,可选 在采用 cmap 映射颜色之前,用于将标量数据缩放到 [0, 1] 范围的归一化方法。默认情况下,使用线性缩放,将最低值映射到 0,最高值映射到 1。
如果给定,可以是以下之一
一个比例名称,例如“linear”、“log”、“symlog”、“logit”等。有关可用比例的列表,请调用
matplotlib.scale.get_scale_names()
。在这种情况下,将动态生成并实例化一个合适的Normalize
子类。
如果 *c* 是 RGB(A) 格式,则此参数将被忽略。
- vmin, vmax浮点型,可选
当使用标量数据且没有明确的 *norm* 时,*vmin* 和 *vmax* 定义了颜色映射所覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。在给定 *norm* 实例时使用 *vmin*/*vmax* 是错误的(但将
str
*norm* 名称与 *vmin*/*vmax* 一起使用是可接受的)。如果 *c* 是 RGB(A) 格式,则此参数将被忽略。
- alpha浮点数,默认值: None
alpha 混合值,介于 0(透明)和 1(不透明)之间。
- linewidths浮点数或类数组,默认值:
rcParams["lines.linewidth"]
(默认值:1.5
) 标记边缘的线宽。注意:默认的 *edgecolors* 是 'face'。您可能也需要更改此项。
- edgecolors{'face', 'none', None} 或 颜色 或 颜色 列表,默认值:
rcParams["scatter.edgecolors"]
(默认值:'face'
) 标记的边缘颜色。可能的值有:
'face':边缘颜色将始终与面颜色相同。
'none':不绘制任何补丁边界。
一种颜色或颜色序列。
对于非填充标记,*edgecolors* 将被忽略。相反,颜色将像 'face' 一样确定,即从 *c*、*colors* 或 *facecolors* 中获取。
- colorizer
Colorizer
或 None,默认值: None 用于将颜色映射到数据的 Colorizer 对象。如果为 None,则从 norm 和 cmap 创建一个 Colorizer 对象。
如果 *c* 是 RGB(A) 格式,则此参数将被忽略。
- plotnonfinite布尔值,默认值: False
是否绘制具有非有限 *c* 值的点(即
inf
、-inf
或nan
)。如果为True
,则使用 bad 颜色映射颜色绘制这些点(参见Colormap.set_bad
)。
- 返回:
- 其他参数:
- data可索引对象,可选
如果给定,以下参数也接受字符串
s
,如果s
是data
中的键,则将其解释为data[s]
x, y, s, linewidths, edgecolors, c, facecolor, facecolors, color
- **kwargs
PathCollection
属性 属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
类数组或浮点数或 None
布尔值
antialiased
oraa
orantialiaseds
布尔值或布尔值列表
类数组或 None
CapStyle
或 {'butt', 'projecting', 'round'}(vmin: 浮点数, vmax: 浮点数)
BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
Colormap
或 字符串 或 None颜色 或 RGBA 元组列表
edgecolor
orec
oredgecolors
facecolor
orfacecolors
orfc
字符串
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}对象
linestyle
ordashes
orlinestyles
orls
字符串或元组或其列表
linewidth
orlinewidths
orlw
浮点数或浮点数列表
布尔值
Normalize
或 字符串 或 None(N, 2) 或 (2,) 类数组
未知
None 或 布尔值 或 浮点数 或 可调用对象
浮点数
布尔值
sizes
numpy.ndarray
或 None(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
字符串
urls
布尔值
浮点数
另请参阅
plot
当标记大小和颜色相同时,用于绘制散点图。
备注
对于标记大小或颜色不变的散点图,
plot
函数会更快。*x*、*y*、*s* 和 *c* 中的任何一个或所有都可以是掩码数组,在这种情况下,所有掩码将被组合,并且只绘制未掩码的点。
从根本上说,scatter 函数处理一维数组;*x*、*y*、*s* 和 *c* 可以作为 N 维数组输入,但在 scatter 内部它们将被展平。例外是 *c*,它只有在大小与 *x* 和 *y* 的大小匹配时才会被展平。