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, plotnonfinite=False, data=None, **kwargs)[源代码][源代码]#

一个 yx 的散点图,具有变化的标记大小和/或颜色。

参数:
x, y浮点数或类数组,形状为 (n, )

数据位置。

s浮点数或类数组,形状为 (n, ),可选

标记的大小以点为单位**2(印刷点为1/72英寸)。默认值为 rcParams['lines.markersize'] ** 2

linewidth 和 edgecolor 可以与标记大小视觉上相互作用,如果标记大小小于 linewidth,可能会导致伪影。

如果线宽大于0且边线颜色不是 'none',那么标记的有效大小将增加线宽的一半,因为描边将位于形状边缘的中心。

要消除标记边缘,可以设置 linewidth=0edgecolor='none'

c : 类似数组或 color 的列表或 color, 可选类数组或列表

标记颜色。可能的值:

  • 一个标量或n个数字的序列,使用 cmapnorm 映射到颜色。

  • 一个2D数组,其中行是RGB或RGBA。

  • 长度为 n 的颜色序列。

  • 单一颜色格式字符串。

注意,c 不应该是单一的数值 RGB 或 RGBA 序列,因为这无法与要进行颜色映射的数值数组区分开来。如果你想为所有点指定相同的 RGB 或 RGBA 值,请使用单行的 2D 数组。否则,在 xy 的大小匹配的情况下,值匹配将具有优先权。

如果你希望为所有点指定单一颜色,请使用 color 关键字参数。

默认为 None。在这种情况下,标记颜色由 colorfacecolorfacecolors 的值决定。如果这些未指定或为 None,标记颜色由 Axes 当前的“形状和填充”颜色循环中的下一个颜色决定。此循环默认值为 rcParams["axes.prop_cycle"] (default: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']))。

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

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

cmap : str 或 Colormap,默认值: rcParams["image.cmap"] (default: 'viridis')str 或

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

如果 c 是 RGB(A),则忽略此参数。

norm : str 或 Normalize,可选str 或

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

如果提供,这可以是以下之一:

如果 c 是 RGB(A),则忽略此参数。

vmin, vmax浮点数,可选

在使用标量数据且未明确指定 norm 时,vminvmax 定义了颜色映射覆盖的数据范围。默认情况下,颜色映射覆盖所提供数据的完整值范围。当给定 norm 实例时,使用 vmin/vmax 是错误的(但使用 str norm 名称与 vmin/vmax 一起是可以接受的)。

如果 c 是 RGB(A),则忽略此参数。

alphafloat, 默认值: None

阿尔法混合值,介于 0(透明)和 1(不透明)之间。

linewidths : float 或 array-like, 默认值: rcParams["lines.linewidth"] (default: 1.5)浮点数或类似数组的对象,默认值:

标记边缘的线宽。注意:默认的 edgecolors 是 'face'。您可能也想更改这个。

edgecolors : {'face', 'none', None} 或 colorcolor 列表, 默认: rcParams["scatter.edgecolors"] (default: 'face'){'face', 'none',}

标记的边缘颜色。可能的值:

  • 'face': 边缘颜色将始终与面颜色相同。

  • 'none': 不会绘制补丁边界。

  • 一种颜色或一系列颜色。

对于非填充标记,edgecolors 被忽略。相反,颜色是根据 'face' 的方式确定的,即从 ccolorsfacecolors 中确定。

plotnonfinitebool, 默认: False

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

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

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

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

**kwargs : Collection 属性集合属性

参见

plot

在标记大小和颜色相同的情况下绘制散点图。

注释

备注

这是 axes.Axes.scatterpyplot 包装器

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

  • 任何或所有 xysc 都可以是掩码数组,在这种情况下,所有掩码将被组合,并且只绘制未掩码的点。

  • 从根本上说,scatter 处理的是一维数组;xysc 可以作为 N 维数组输入,但在 scatter 内部它们将被展平。例外的是 c,只有当其大小与 xy 的大小匹配时,才会被展平。

使用 matplotlib.pyplot.scatter 的示例#

超链接

Hyperlinks