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, scaleyбулево, по умолчанию: 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:
-
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
bool
antialiasedили aabool
BboxBaseили Nonebool
Объект Patch или (Path, Transform) или None
colorили cцвет
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}последовательность чисел с плавающей точкой (чернила включения/выключения в пунктах) или (None, None)
массив (2, N) или два одномерных массива
drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
цвет или None
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwвещественное число
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewвещественное число
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msвещественное число
None или целое число или кортеж из двух целых чисел или срез или список целых чисел или вещественное число или кортеж из двух вещественных чисел или список bool
bool
список
AbstractPathEffectвещественное число или вызываемая функция [[Artist, Event], tuple[bool, dict]]
вещественное число
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}неизвестно
строка
bool
одномерный массив
одномерный массив
вещественное число
См. также
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
'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
Построение графиков с масками и значениями NaN
Управление стилем текста и меток с помощью словаря
Стиль таблицы стилей Solarized Light
Размещение меток дат с использованием правил повторения
Настройка Matplotlib с помощью таблиц стилей и rcParams
© 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.plot.html