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.DataFameили структурированный массив NumPy.Построение нескольких наборов данных
Существует несколько способов построения нескольких наборов данных.
-
Самый простой способ — многократно вызвать
plot. Пример:>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
-
В качестве альтернативы, если ваши данные уже представлены двумерным массивом, вы можете передать их напрямую в x и y. Для каждого столбца будет нарисован отдельный набор данных.
Пример: массив
a, где первый столбец представляет значения x, а другие столбцы — столбцы y:>>> plot(a[0], a[1:])
-
Третий способ — указать несколько наборов [x], y, [fmt] групп:
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
В этом случае любые дополнительные ключевые аргументы применяются ко всем наборам данных. Также этот синтаксис не может быть объединён с параметром data.
По умолчанию каждой линии присваивается разный стиль, определяемый циклом стилей. Параметры fmt и свойства линий нужны только если вы хотите явно отклониться от этих значений по умолчанию. В качестве альтернативы можно также изменить цикл стилей с помощью параметра 'axes.prop_cycle' rcParam.
Параметры: -
x, y : array-like or scalar -
Горизонтальные / вертикальные координаты точек данных. Значения x необязательны. Если они не заданы, они принимают значение по умолчанию
[0, ..., N-1].Обычно эти параметры представляют собой массивы длиной N. Однако также поддерживаются скалярные значения (эквивалент массива с постоянным значением).
Параметры также могут быть двумерными. Тогда столбцы представляют отдельные наборы данных.
-
fmt : str, optional -
Строка формата, например, 'ro' для красных кружков. Полное описание строк формата см. в разделе Примечания.
Строки формата — это просто сокращения для быстрого задания основных свойств линии. Все эти и другие свойства также можно контролировать с помощью ключевых аргументов.
-
data : indexable object, optional -
Объект с метками данных. Если задан, укажите имена меток для построения по осям x и y.
Примечание
Технически есть небольшая неоднозначность в вызовах, где вторая метка является допустимым значением fmt.
plot('n', 'o', data=obj)может бытьplt(x, y)илиplt(y, fmt). В таких случаях выбирается первое толкование, но выдаётся предупреждение. Вы можете подавить предупреждение, добавив пустую строку форматаplot('n', 'o', '', data=obj).
Возвращает: - линии
-
Список объектов
Line2D, представляющих построенные данные.
-
Другие параметры: -
scalex, scaley : bool, optional, default: True -
Эти параметры определяют, адаптируются ли пределы отображения к пределам данных. Значения передаются в
autoscale_view. -
**kwargs : Line2D properties, optional -
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')
Если вы создаёте несколько линий одной командой построения графика, kwargs применяются ко всем этим линиям.
Вот список доступных свойств
Line2D:Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphafloat animatedbool antialiasedbool clip_boxBboxclip_onbool clip_path[( Path,Transform) |Patch| None]colorцвет containsвызываемый объект dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'miter', 'round', 'bevel'} dashesпоследовательность чисел с плавающей точкой (чернила включения/выключения в точках) или (None, None) drawstyle{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'} figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidstr in_layoutbool labelобъект linestyle{'-', '--', '-.', ':', '', (смещение, последовательность включения-выключения), ...} linewidthfloat markerнеизвестно markeredgecolorцвет markeredgewidthfloat markerfacecolorцвет markerfacecoloraltцвет markersizefloat markeveryнеизвестно path_effectsAbstractPathEffectpickerfloat или вызываемый объект [[Artist, Event], Tuple[bool, dict]] pickradiusfloat rasterizedbool или None sketch_params(масштаб: float, длина: float, случайность: float) snapbool или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transform urlstr visiblebool xdataодномерный массив ydataодномерный массив zorderfloat
См. также
-
scatter - Диаграмма рассеяния XY с маркерами различного размера и/или цвета (иногда также называется диаграммой пузырьков).
Примечания
Строки формата
Строка формата состоит из части для цвета, маркера и линии:
fmt = '[color][marker][line]'
-
Каждый из них является необязательным. Если не указано, используется значение из цикла стилей. Исключение: если указано
line, но нетmarker, данные будут отображены строкой без маркеров.Цвета
Поддерживаются следующие сокращения цветов:
символ цвет 'b'синий 'g'зелёный 'r'красный 'c'голубой 'm'пурпурный 'y'жёлтый 'k'чёрный 'w'белый Если цвет — единственная часть строки формата, вы также можете использовать любой спецификатор
matplotlib.colors, например, полные названия ('green') или шестнадцатеричные строки ('#008000').Маркеры
символ описание '.'маркер точки ','маркер пикселя 'o'маркер круга 'v'маркер треугольника вниз '^'маркер треугольника вверх '<'маркер треугольника влево '>'маркер треугольника вправо '1'маркер tri_down '2'маркер tri_up '3'маркер tri_left '4'маркер tri_right 's'маркер квадрата 'p'маркер пятиугольника '*'маркер звезды 'h'маркер шестиугольника1 'H'маркер шестиугольника2 '+'маркер плюса 'x'маркер x 'D'маркер ромба 'd'маркер тонкого ромба '|'маркер вертикальной линии '_'маркер горизонтальной линии Стиль линий
символ описание '-'сплошная линия '--'штриховая линия '-.'штрихпунктирная линия ':'пунктирная линия Примеры строк формата:
'b' # blue markers with default shape 'ro' # red circles 'g-' # green solid line '--' # dashed line with default color 'k^:' # black triangle_up markers connected by a dotted line
Примечание
Помимо вышеописанных аргументов, эта функция может принимать ключевой аргумент data. Если такой аргумент data задан, следующие аргументы заменяются на data[<arg>]:
- Все аргументы с названиями 'x', 'y'.
Объекты, передаваемые как data, должны поддерживать доступ к элементам (
data[<arg>]) и проверку на членство (<arg> in data).
Примеры использования matplotlib.pyplot.plot
Демонстрация axhspan
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/_as_gen/matplotlib.pyplot.plot.html