matplotlib.axes.Axes.plot
- Axes.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:
-
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (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
строка
bool
объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwвещественное число
строка стилей маркера,
PathилиMarkerStylemarkeredgecolorили mecцвет
markeredgewidthили mewвещественное число
markerfacecolorили mfcцвет
markerfacecoloraltили mfcaltцвет
markersizeили msвещественное число
None или целое число или (целое число, целое число) или срез или список [целое число] или вещественное число или (вещественное число, вещественное число) или список [bool]
bool
вещественное число или вызываемая функция [[Artist, Event], кортеж [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'маркер 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.axes.Axes.plot
Сопоставление свойств маркеров с многомерными данными
Создание временной шкалы с линиями, датами и текстом
Управление пределами просмотра с помощью полей и привязанных к краям
Изменение размера осей с помощью ограниченного макета
Создание нескольких подграфиков с помощью plt.subplots
Использование гистограмм для построения кумулятивного распределения
Использование текста с диакритическими знаками в Matplotlib
График 3D поверхности прямоугольного параллелепипеда
Диаграмма рассеяния (паучьи или звездообразные диаграммы)
Форматирование меток дат с помощью ConciseDateFormatter
Установить метки делений оси Y справа по умолчанию
Фиксация значений ползунков на дискретных значениях
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.plot.html