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)[source]
-
Диаграмма рассеяния y по x с различным размером и/или цветом маркеров.
- Параметры:
-
- x, yfloat или массив-подобный тип, форма (n, )
-
Положения данных.
- sfloat или массив-подобный тип, форма (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или один из его подклассов (см. Нормализация цветовой карты). - Имя масштаба, например, "линейный", "логарифмический", "симлогический", "логитический" и т. д. Список доступных масштабов можно получить, вызвав
matplotlib.scale.get_scale_names(). В этом случае подходящий подклассNormalizeдинамически генерируется и создается экземпляр.
Этот параметр игнорируется, если c — RGB(A).
- Экземпляр
- vmin, vmaxfloat, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (но использование имени norm типа
strвместе с vmin/vmax допустимо).Этот параметр игнорируется, если c — RGB(A).
- alphafloat, по умолчанию: None
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
-
linewidthsfloat или массив-подобный тип, по умолчанию:
rcParams["lines.linewidth"](по умолчанию:1.5) -
Ширина линии границ маркера. Примечание: значение по умолчанию edgecolors — 'face'. Возможно, потребуется изменить его.
-
edgecolors{'face', 'none', None} или цвет или список цветов, по умолчанию:
rcParams["scatter.edgecolors"](по умолчанию:'face') -
Цвет обводки маркера. Возможные значения:
- 'face': Цвет обводки всегда будет таким же, как и цвет заливки.
- 'none': Граница объекта не будет отображаться.
- Цвет или последовательность цветов.
Для маркеров без заливки edgecolors игнорируется. Вместо этого цвет определяется, как с 'face', т.е. из c, colors или facecolors.
- plotnonfinitebool, по умолчанию: False
-
Определяет, нужно ли отображать точки с неопределенными значениями c (т.е.
inf,-infилиnan). ЕслиTrue, точки отображаются с цветом цветовой карты bad (см.Colormap.set_bad).
- Возвращаемые значения:
-
PathCollection
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение):x, y, s, linewidths, edgecolors, c, facecolor, facecolors, color
-
**kwargs
Collectionсвойства
См. также
plot-
Для построения диаграмм рассеяния, когда маркеры имеют одинаковый размер и цвет.
Примечания
Примечание
Это обертка pyplot для
axes.Axes.scatter.- Функция
plotбудет быстрее для диаграмм рассеяния, где маркеры не меняются по размеру или цвету. - Любой или все из x, y, s и c могут быть маскированными массивами, в этом случае все маски будут объединены, и будут отображаться только не замаскированные точки.
- В основе scatter лежат 1D массивы; x, y, s и c могут быть введены как N-D массивы, но в scatter они будут сплющены. Исключением является c, которое будет сплющено только в случае, если его размер соответствует размеру x и y.
Примеры использования matplotlib.pyplot.scatter
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html