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:
-
Свойство
Описание
функция фильтра, которая принимает массив 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
Управление стилем текста и меток с помощью словаря
© 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