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 применяются ко всем этим линиям. В случае, если объект метки является итерируемым, каждый элемент используется в качестве меток для каждого набора данных.
Вот список доступных свойств
Line2D:
-
Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaскаляр или None animatedbool antialiasedили aabool clip_boxBboxclip_onbool clip_pathОбъект Patch или (Path, Transform) или None colorили cцвет containsнеизвестно dash_capstyleCapStyleили {'butt', 'projecting', 'round'}dash_joinstyleJoinStyleили {'miter', 'round', 'bevel'}dashesпоследовательность чисел с плавающей точкой (чернила на/без чернил в точках) или (None, None) dataмассив (2, N) или два одномерных массива drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default' figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutbool labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...} linewidthили lwчисло с плавающей точкой markerстрока стиля маркера, PathилиMarkerStylemarkeredgecolorили mecцвет markeredgewidthили mewчисло с плавающей точкой markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msчисло с плавающей точкой markeveryNone или int или (int, int) или срез или список[int] или число с плавающей точкой или (число с плавающей точкой, число с плавающей точкой) или список[bool] path_effectsAbstractPathEffectpickerчисло с плавающей точкой или вызываемая функция[[Artist, Event], кортеж[bool, dict]] pickradiusчисло с плавающей точкой rasterizedbool sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapbool или None solid_capstyleCapStyleили {'butt', 'projecting', 'round'}solid_joinstyleJoinStyleили {'miter', 'round', 'bevel'}transformmatplotlib.transforms.Transformurlстрока visiblebool xdataодномерный массив ydataодномерный массив zorderчисло с плавающей точкой
См. также
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–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.pyplot.plot.html