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, 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') -
Экземпляр цветовой карты или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если 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 вместе с 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-
Для построения диаграмм рассеяния, когда маркеры одинаковы по размеру и цвету.
Примечания
- Функция
plotбудет быстрее для диаграмм рассеяния, где маркеры не различаются по размеру или цвету. - Любой или все из x, y, s и c могут быть масками массивов, в этом случае все маски будут объединены, и будут отображены только не замаскированные точки.
- В основе scatter лежат 1D массивы; x, y, s и c могут быть введены как N-мерные массивы, но внутри scatter они будут сглажены. Исключение составляет c, которое будет сглажено только в том случае, если его размер совпадает с размером x и y.
Примеры использования matplotlib.axes.Axes.scatter
Построение эллипса доверительности двумерного набора данных
Диаграмма рассеяния с гистограммами (оси с возможностью размещения)
Анимированная диаграмма рассеяния, сохранённая как GIF
Выбор индексов из коллекции с помощью селектора многоугольника
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/_as_gen/matplotlib.axes.Axes.scatter.html