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 для всех точек, используйте двумерный массив с одной строкой. В противном случае при совпадении размеров с 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') -
Экземпляр Colormap или зарегистрированное имя цветовой карты, используемые для преобразования скалярных данных в цвета.
Этот параметр игнорируется, если c имеет формат RGB(A).
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных в диапазон [0, 1] перед преобразованием в цвета с помощью cmap. По умолчанию используется линейное масштабирование, при котором наименьшее значение отображается в 0, а наибольшее — в 1.
Если задан, этот параметр может принимать одно из следующих значений:
- Экземпляр
Normalizeили одного из его подклассов (см. раздел Нормализация цветовой карты). - Имя шкалы, например "linear", "log", "symlog", "logit" и т. д. Чтобы получить список доступных шкал, вызовите
matplotlib.scale.get_scale_names(). В этом случае подходящий подклассNormalizeсоздаётся и инициализируется динамически.
Этот параметр игнорируется, если c имеет формат RGB(A).
- Экземпляр
- vmin, vmaxвещественное число, необязательно
-
При использовании скалярных данных и отсутствии явного norm параметры vmin и vmax задают диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (однако допустимо указывать имя norm типа
strвместе с vmin/vmax).Этот параметр игнорируется, если c имеет формат RGB(A).
- alphaвещественное число, по умолчанию: None
-
Значение альфа-смешивания от 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, объект Colorizer создаётся на основе norm и cmap.
Этот параметр игнорируется, если c имеет формат RGB(A).
- plotnonfiniteлогическое значение, по умолчанию: False
-
Определяет, следует ли отображать точки с не конечными значениями c (то есть
inf,-infилиnan). Если задано значениеTrue, точки отображаются цветом bad цветовой карты (см.Colormap.set_bad).
- Возвращает:
-
PathCollection
- Другие параметры:
-
- dataиндексируемый объект, необязательный
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s], еслиsявляется ключом вdata:x, y, s, linewidths, edgecolors, c, facecolor, facecolors, color
-
**kwargsсвойства
PathCollection -
Свойство
Описание
функция фильтрации, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения
массивоподобный объект, float или None
bool
antialiasedoraaorantialiasedsbool или список значений bool
массивоподобный объект или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
Patch или (Path, Transform) или None
Colormapили str или Noneцвет или список кортежей RGBA
edgecolororecoredgecolorsfacecolororfacecolorsorfcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
bool
JoinStyleили {'miter', 'round', 'bevel'}object
linestyleordashesorlinestylesorlsstr, кортеж или список таких значений
linewidthorlinewidthsorlwfloat или список значений float
bool
Normalizeили str или Noneмассивоподобный объект формы (N, 2) или (2,)
список объектов
AbstractPathEffectнеизвестно
None, bool, float или вызываемый объект
float
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
str
список значений str или None
bool
float
-
См. также
plot-
Для построения диаграмм рассеяния, если маркеры имеют одинаковый размер и цвет.
Примечания
Примечание
Это обёртка pyplot для
axes.Axes.scatter.- Функция
plotбудет работать быстрее для диаграмм рассеяния, в которых размер и цвет маркеров не меняются. - Любой или все из массивов x, y, s и c могут быть маскированными массивами; в этом случае все маски будут объединены, и будут построены только немаскированные точки.
- По своей сути scatter работает с одномерными массивами; x, y, s и c можно передавать как N-мерные массивы, но внутри scatter они будут преобразованы в одномерные. Исключение составляет c: он будет преобразован в одномерный массив только в том случае, если его размер совпадает с размером x и y.
Примеры использования matplotlib.pyplot.scatter
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html