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