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'])).- Parameters:
-
- 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).
- Returns:
-
- список
Line2D -
Список линий, представляющих нарисованные данные.
- список
- Other Parameters:
-
- 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:
-
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, а возвращает массив (m, n, 3) и два смещения от левого нижнего угла изображения
скаляр или None
bool
antialiasedили aabool
bool
Объект 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
str
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл./выкл.), ...}
linewidthили lwчисло с плавающей точкой
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewчисло с плавающей точкой
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msчисло с плавающей точкой
None или целое число или (целое число, целое число) или срез или список целых чисел или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список логических значений
bool
число с плавающей точкой или вызываемая функция [[Художник, Событие], кортеж[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'маркер х (заполненный)
'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 значениями
Управление стилем текста и меток с помощью словаря
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.pyplot.plot.html