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 являются 2D массивами, для каждой колонки будет нарисован отдельный набор данных. Если и x, и y являются 2D массивами, они должны иметь одинаковую форму. Если только один из них является 2D массивом с формой (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)).Обычно эти параметры являются 1D массивами.
Они также могут быть скалярами или двумерными (в этом случае столбцы представляют отдельные наборы данных).
Эти аргументы не могут быть переданы в виде ключевых.
- 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свойств:
-
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от левого нижнего угла изображения
скаляр или None
логическое значение
antialiasedили aaлогическое значение
BboxBaseили Noneлогическое значение
Объект Patch или (Path, Transform) или None
colorили cCapStyleили {'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
строка
логическое значение
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...}
linewidthили lwвещественное число
строка стиля маркера,
PathилиMarkerStylemarkeredgecolorили mecmarkeredgewidthили mewвещественное число
markerfacecolorили mfcmarkerfacecoloraltили mfcaltmarkersizeили msвещественное число
None или целое число или (целое число, целое число) или срез или список целых чисел или вещественное число или (вещественное число, вещественное число) или список булевых значений
логическое значение
список
AbstractPathEffectвещественное число или вызываемая функция [[Artist, Event], кортеж[bool, dict]]
вещественное число
логическое значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
логическое значение или None
CapStyleили {'butt', 'projecting', 'round'}JoinStyleили {'miter', 'round', 'bevel'}
См. также
scatter-
Диаграмма рассеяния точек с маркерами различного размера и/или цвета (иногда также называется диаграммой пузырьков).
Примечания
Примечание
Это обертка pyplot для
axes.Axes.plot.Строки форматирования
Строка форматирования состоит из частей для цвета, маркера и линии:
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'маркер hexagon1
'H'маркер hexagon2
'+'маркер плюс
'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
Управление стилем текста и меток с помощью словаря
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html