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
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
список
AbstractPathEffectчисло с плавающей точкой или вызываемая функция [[Artist, Event], кортеж[bool, словарь]]
число с плавающей точкой
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
Сопоставление свойств маркеров с многомерными данными
Заполнение областей, определённых логической маской, с помощью fill_between
Создание временной шкалы с линиями, датами и текстом
Управление пределами отображения с помощью полей и sticky_edges
Совместное использование пределов и представлений осей
Создание нескольких подграфиков с помощью plt.subplots
Форматирование меток даты с помощью ConciseDateFormatter
Настройка форматирования меток для временных рядов
Более быстрое отображение с помощью функции blitting
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/_as_gen/matplotlib.axes.Axes.plot.html