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, yчисло или массив-подобный объект, форма (n, )
-
Позиции данных.
- sчисло или массив-подобный объект, форма (n, ), необязательно
-
Размер маркера в пунктах**2 (типографские пункты составляют 1/72 дюйма). По умолчанию
rcParams['lines.markersize'] ** 2.Линия и цвет обводки могут визуально взаимодействовать с размером маркера и могут приводить к артефактам, если размер маркера меньше, чем толщина линии.
Если толщина линии больше 0, а цвет обводки — любой, кроме 'none', то эффективный размер маркера будет увеличен наполовину толщины линии, поскольку штрих будет центрирован по краю формы.
Для устранения обводки маркера установите linewidth=0 или edgecolor='none'.
- cмассив-подобный объект или список цветов или цвет, необязательно
-
Цвета маркеров. Возможные значения:
- Числовой скаляр или последовательность из n чисел, которые будут сопоставлены с цветами с использованием cmap и norm.
- 2D массив, в котором строки — значения 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'])). -
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, 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.
- plotnonfiniteбулево, по умолчанию: 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-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/3.8.4/api/_as_gen/matplotlib.pyplot.scatter.html