Spec-Zone.ru › Matplotlib 3.4

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 применяются ко всем этим линиям. В случае, если объект метки является итерируемым, каждый элемент используется в качестве меток для каждого набора данных.

Вот список доступных свойств 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 цвет
contains неизвестно
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'}
gid строка
in_layout bool
label объект
linestyle или ls {'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...}
linewidth или lw число с плавающей точкой
marker строка стиля маркера, Path или MarkerStyle
markeredgecolor или mec цвет
markeredgewidth или mew число с плавающей точкой
markerfacecolor или mfc цвет
markerfacecoloralt или mfcalt цвет
markersize или ms число с плавающей точкой
markevery None или int или (int, int) или срез или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool]
path_effects AbstractPathEffect
picker число с плавающей точкой или вызываемая функция[[Artist, Event], кортеж[bool, dict]]
pickradius число с плавающей точкой
rasterized bool
sketch_params (масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
snap bool или None
solid_capstyle CapStyle или {'butt', 'projecting', 'round'}
solid_joinstyle JoinStyle или {'miter', 'round', 'bevel'}
transform matplotlib.transforms.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

Scatter Masked

Точечный график с замаскированными значениями

Stairs Demo

Пример использования функции stairs

Step Demo

Демонстрация функции step

Custom Figure subclasses

Настройка подклассов Figure

Managing multiple figures in pyplot

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

Shared Axis

Общие оси

Multiple subplots

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

Math fontfamily

Шрифт математических символов

Controlling style of text and labels using a dictionary

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

Title positioning

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

Infinite lines

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

plot() format string

Строка формата для plot()

Pyplot Mathtext

Pyplot Mathtext

Pyplot Simple

Простой Pyplot

Pyplot Three

Три графика Pyplot

Pyplot Two Subplots

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

What's New 0.98.4 Legend

Легенда 0.98.4

Dolphins

Дельфины

Marker Path

Маркер Пути

Solarized Light stylesheet

Стиль оформления Solarized Light

Frame grabbing

Извлечение кадров

Agg Buffer

Буфер Agg

Coords Report

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

Customize Rc

Настройка параметров

Findobj Demo

Демонстрация findobj

Multipage PDF

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

Print Stdout

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

Set and get properties

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

transforms.offset_copy

transforms.offset_copy

Zorder Demo

Демонстрация zorder

Custom scale

Пользовательская шкала

Rotating custom tick labels

Поворот меток осей

Tool Manager

Менеджер инструментов

Buttons

Кнопки

Slider

Ползунок

Snapping Sliders to Discrete Values

Фиксация ползунка на дискретных значениях

Usage Guide

Руководство по использованию

Pyplot tutorial

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

Sample plots in Matplotlib

Примеры графиков в Matplotlib

Customizing Matplotlib with style sheets and rcParams

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

Legend guide

Руководство по легендам

Path effects guide

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

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

Spec-Zone.ru

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