matplotlib.pyplot.scatter#

matplotlib.pyplot.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)[源代码]#

使用不同标记大小和/或颜色的 *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 值,请使用只有一行的 2D 数组。否则,在与 *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']))。

markerMarkerStyle,默认值: rcParams["scatter.marker"] (默认值: 'o')

标记样式。*marker* 可以是该类的一个实例,也可以是特定标记的文本简写。有关标记样式的更多信息,请参阅 matplotlib.markers

cmap字符串或 Colormap,默认值: rcParams["image.cmap"] (默认值: 'viridis')

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

如果 *c* 是 RGB(A) 格式,则此参数将被忽略。

norm字符串或 Normalize,可选

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

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

如果 *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* 中获取。

colorizerColorizer 或 None,默认值: None

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

如果 *c* 是 RGB(A) 格式,则此参数将被忽略。

plotnonfinite布尔值,默认值: False

是否绘制具有非有限 *c* 值的点(即 inf-infnan)。如果为 True,则点将使用 *bad* 颜色映射颜色绘制(参见 Colormap.set_bad)。

返回:
PathCollection
其他参数:
data可索引对象,可选

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

x, y, s, linewidths, edgecolors, c, facecolor, facecolors, color

**kwargsPathCollection 属性

属性

描述

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

字符串

hatch

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

hatch_linewidth

未知

in_layout

布尔值

joinstyle

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

label

对象

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

字符串

字符串列表或 None

urls

visible

布尔值

zorder

浮点数

另请参阅

plot

当标记大小和颜色相同时,用于绘制散点图。

备注

注意

这是 pyplot 封装器,用于 axes.Axes.scatter

  • 对于标记大小或颜色不变的散点图,plot 函数会更快。

  • *x*、*y*、*s* 和 *c* 中的任何或所有都可以是掩码数组,在这种情况下,所有掩码将被合并,并且只绘制未被掩盖的点。

  • 从根本上说,散点图处理一维数组;*x*、*y*、*s* 和 *c* 可以作为 N 维数组输入,但在散点图中它们将被展平。例外是 *c*,它只有在其大小与 *x* 和 *y* 的大小匹配时才会被展平。

使用 matplotlib.pyplot.scatter 的示例#

带掩码值的散点图

带掩码值的散点图

带图例的散点图

带图例的散点图

超链接

超链接

极坐标轴上的散点图

极坐标轴上的散点图

散点图

散点图

Pyplot 教程

Pyplot 教程