Spec-Zone.ru › Matplotlib 3.6

matplotlib.pyplot.plot

matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)[source]

Построение графика y в зависимости от x в виде линий и/или маркеров.

Возможные варианты вызова:

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

Координаты точек или узлов линии задаются параметрами x, y.

Необязательный параметр fmt — удобный способ определения базового форматирования, такого как цвет, маркер и тип линии. Это сокращенная строковая запись, описание которой приведено в разделе «Примечания» ниже.

>>> plot(x, y)        # plot x and y using default line style and color
>>> plot(x, y, 'bo')  # plot x and y using blue circle markers
>>> plot(y)           # plot y using x as index array 0..N-1
>>> plot(y, 'r+')     # ditto, but with red plusses

Для более точного управления внешним видом можно использовать свойства Line2D в качестве ключевых аргументов. Свойства линий и fmt могут быть смешаны. Следующие два вызова дают одинаковый результат:

>>> plot(x, y, 'go--', linewidth=2, markersize=12)
>>> plot(x, y, color='green', marker='o', linestyle='dashed',
...      linewidth=2, markersize=12)

При конфликте с fmt, ключевые аргументы имеют приоритет.

Построение данных с метками

Существует удобный способ построения объектов с метками данных (т.е. данных, к которым можно получить доступ по индексу obj['y']). Вместо указания данных в x и y, вы можете предоставить объект в параметре data и указать только метки для x и y:

>>> plot('xlabel', 'ylabel', data=obj)

Поддерживаются все индексируемые объекты. Например, это может быть dict, pandas.DataFrame или структурированный массив NumPy.

Построение нескольких наборов данных

Существует несколько способов построения нескольких наборов данных.

  • Самый простой способ — вызвать plot несколько раз. Пример:

    >>> plot(x1, y1, 'bo')
    >>> plot(x2, y2, 'go')
    
  • Если x и/или y являются двумерными массивами, для каждого столбца будет нарисован отдельный набор данных. Если и x, и y двумерные, они должны иметь одинаковую форму. Если только один из них двумерный с формой (N, m), другой должен иметь длину N и будет использоваться для каждого набора данных m.

    Пример:

    >>> x = [1, 2, 3]
    >>> y = np.array([[1, 2], [3, 4], [5, 6]])
    >>> plot(x, y)
    

    эквивалентно:

    >>> for col in range(y.shape[1]):
    ...     plot(x, y[:, col])
    
  • Третий способ — указать несколько наборов [x], y, [fmt] групп:

    >>> plot(x1, y1, 'g^', x2, y2, 'g-')
    

    В этом случае любые дополнительные ключевые аргументы применяются ко всем наборам данных. Кроме того, этот синтаксис нельзя сочетать с параметром data.

По умолчанию каждой линии назначается различный стиль, определенный циклом стилей. Параметры fmt и свойств линии необходимы только если вы хотите явно отклониться от этих значений по умолчанию. В качестве альтернативы вы также можете изменить цикл стилей, используя rcParams["axes.prop_cycle"] (по умолчанию: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])).

Параметры:
x, yмассив-подобный объект или скаляр

Горизонтальные/вертикальные координаты точек данных. Значения x необязательны и по умолчанию равны range(len(y)).

Обычно эти параметры являются одномерными массивами.

Они также могут быть скалярами или двумерными (в этом случае столбцы представляют отдельные наборы данных).

Эти аргументы нельзя передавать в качестве ключевых.

fmtстрока, необязательно

Строка формата, например, 'ro' для красных кружков. Подробное описание строк формата см. в разделе «Примечания» ниже.

Строки формата — просто сокращение для быстрого задания основных свойств линии. Все эти и другие свойства также можно задать с помощью ключевых аргументов.

Этот аргумент нельзя передавать в качестве ключевого.

dataиндексируемый объект, необязательно

Объект с метками данных. Если задан, укажите имена меток для построения по осям x и y.

Примечание

Технически есть небольшая неоднозначность в вызовах, где вторая метка является допустимым значением fmt. plot('n', 'o', data=obj) может быть plt(x, y) или plt(y, fmt). В таких случаях выбирается первое толкование, но выдается предупреждение. Вы можете подавить предупреждение, добавив пустую строку формата plot('n', 'o', '', data=obj).

Возвращаемые значения:
список Line2D

Список линий, представляющих нарисованные данные.

Другие параметры:
scalex, scaleybool, по умолчанию: True

Эти параметры определяют, адаптируются ли пределы просмотра к пределам данных. Значения передаются в autoscale_view.

**kwargsсвойства Line2D, необязательно

kwargs используются для указания свойств, таких как метка линии (для автоматических легенд), толщина линии, сглаживание, цвет заливки маркера. Пример:

>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2)
>>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')

Если вы указываете несколько линий с одним вызовом plot, kwargs применяются ко всем этим линиям. В случае, если объект label является итерируемым, каждый элемент используется как метки для каждого набора данных.

Вот список доступных свойств Line2D:

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, а возвращает массив (m, n, 3) и два смещения от левого нижнего угла изображения

alpha

скаляр или None

animated

bool

antialiased или aa

bool

clip_box

Bbox

clip_on

bool

clip_path

Объект Patch или (Path, Transform) или None

color или c

цвет

dash_capstyle

CapStyle или {'butt', 'projecting', 'round'}

dash_joinstyle

JoinStyle или {'miter', 'round', 'bevel'}

dashes

последовательность чисел с плавающей точкой (чернила вкл./выкл. в пунктах) или (None, None)

data

массив (2, N) или два одномерных массива

drawstyle или ds

{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default'

figure

Figure

fillstyle

{'full', 'left', 'right', 'bottom', 'top', 'none'}

gapcolor

цвет или None

gid

str

in_layout

bool

label

объект

linestyle или ls

{'-', '--', '-.', ':', '', (смещение, последовательность вкл./выкл.), ...}

linewidth или lw

число с плавающей точкой

marker

строка стиля маркера, Path или MarkerStyle

markeredgecolor или mec

цвет

markeredgewidth или mew

число с плавающей точкой

markerfacecolor или mfc

цвет

markerfacecoloralt или mfcalt

цвет

markersize или ms

число с плавающей точкой

markevery

None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список логических значений

mouseover

bool

path_effects

AbstractPathEffect

picker

число с плавающей точкой или вызываемая функция [[Художник, Событие], кортеж[bool, dict]]

pickradius

неизвестно

rasterized

bool

sketch_params

(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)

snap

bool или None

solid_capstyle

CapStyle или {'butt', 'projecting', 'round'}

solid_joinstyle

JoinStyle или {'miter', 'round', 'bevel'}

transform

неизвестно

url

строка

visible

bool

xdata

одномерный массив

ydata

Одномерный массив

zorder

вещественное число

См. также

scatter

Диаграмма рассеяния XY с маркерами различного размера и/или цвета (иногда также называется диаграммой пузырьков).

Примечания

Строки форматирования

Строка форматирования состоит из части для цвета, маркера и линии:

fmt = '[marker][line][color]'

Каждая из них является необязательной. Если не указана, используется значение из цикла стилей. Исключение: Если указано line, но нет marker, данные будут отображаться в виде линии без маркеров.

Поддерживаются и другие комбинации, такие как [color][marker][line], но обратите внимание, что их разбор может быть неоднозначным.

Маркеры

символ

описание

'.'

маркер точки

','

маркер пикселя

'o'

маркер круга

'v'

маркер треугольника вниз

'^'

маркер треугольника вверх

'<'

маркер треугольника влево

'>'

маркер треугольника вправо

'1'

маркер tri_down

'2'

маркер tri_up

'3'

маркер tri_left

'4'

маркер tri_right

'8'

маркер восьмиугольника

's'

маркер квадрата

'p'

маркер пятиугольника

'P'

маркер плюса (заполненный)

'*'

маркер звезды

'h'

маркер шестиугольника1

'H'

маркер шестиугольника2

'+'

маркер плюса

'x'

маркер х

'X'

маркер х (заполненный)

'D'

маркер ромба

'd'

маркер тонкого ромба

'|'

маркер вертикальной линии

'_'

маркер горизонтальной линии

Стиль линий

символ

описание

'-'

сплошная линия

'--'

пунктирная линия

'-.'

штрихпунктирная линия

':'

штриховая линия

Примеры строк форматирования:

'b'    # blue markers with default shape
'or'   # red circles
'-g'   # green solid line
'--'   # dashed line with default color
'^k:'  # black triangle_up markers connected by a dotted line

Цвета

Поддерживаются сокращения цветов в виде одиночных буквенных кодов

символ

цвет

'b'

синий

'g'

зеленый

'r'

красный

'c'

голубой

'm'

пурпурный

'y'

желтый

'k'

черный

'w'

белый

и цвета 'CN', которые индексируют в стандартный цикл свойств.

Если цвет — единственная часть строки форматирования, вы также можете использовать любой спецификатор matplotlib.colors, например, полные имена ('green') или шестнадцатеричные строки ('#008000').

Примеры использования matplotlib.pyplot.plot

Plotting masked and NaN values

Построение графиков с маской и значениями NaN

Построение графиков с маской и значениями NaN
Scatter Masked

Маскированные точки на диаграмме рассеяния

Маскированные точки на диаграмме рассеяния
Stairs Demo

Пример ступенчатой диаграммы

Пример ступенчатой диаграммы
Step Demo

Пример диаграммы ступенек

Пример диаграммы ступенек
Custom Figure subclasses

Пользовательские подклассы Figure

Пользовательские подклассы Figure
Managing multiple figures in pyplot

Управление несколькими фигурами в pyplot

Управление несколькими фигурами в pyplot
Shared Axis

Общий масштаб осей

Общий масштаб осей
Multiple subplots

Несколько подграфиков

Несколько подграфиков
Controlling style of text and labels using a dictionary

Управление стилем текста и меток с помощью словаря

Управление стилем текста и меток с помощью словаря
Title positioning

Позиционирование заголовков

Позиционирование заголовков
Infinite lines

Бесконечные линии

Бесконечные линии
plot() format string

Формат строки plot()

Формат строки plot()
Pyplot Mathtext

Pyplot Mathtext

Pyplot Mathtext
Pyplot Simple

Простой Pyplot

Простой Pyplot
Pyplot Three

Pyplot Три

Pyplot Три
Pyplot Two Subplots

Pyplot Два подграфика

Pyplot Два подграфика
Dolphins

Дельфины

Дельфины
Solarized Light stylesheet

Стиль темы Solarized Light

Стиль темы Solarized Light
Frame grabbing

Получение кадров

Получение кадров
Coords Report

Отчет о координатах

Отчет о координатах
Customize Rc

Настройка Rc

Настройка Rc
Findobj Demo

Пример findobj

Пример findobj
Multipage PDF

PDF с несколькими страницами

PDF с несколькими страницами
Print Stdout

Вывод в стандартный поток

Вывод в стандартный поток
Set and get properties

Установка и получение свойств

Установка и получение свойств
transforms.offset_copy

transforms.offset_copy

transforms.offset_copy
Zorder Demo

Демонстрация порядка рисования

Демонстрация порядка рисования
Custom scale

Настройка шкалы

Настройка шкалы
Placing date ticks using recurrence rules

Установка меток дат с помощью правил повторения

Установка меток дат с помощью правил повторения
Rotating custom tick labels

Поворот пользовательских меток

Поворот пользовательских меток
Tool Manager

Управление инструментами

Управление инструментами
Pyplot tutorial

Руководство по Pyplot

Руководство по Pyplot
Customizing Matplotlib with style sheets and rcParams

Настройка Matplotlib с помощью стилей и rcParams

Настройка Matplotlib с помощью стилей и rcParams
Quick start guide

Быстрый старт

Быстрый старт
Path effects guide

Руководство по эффектам траекторий

Руководство по эффектам траекторий

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.plot.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API