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 необязательны и по умолчанию равны
range(len(y)).Обычно эти параметры являются одномерными массивами.
Они также могут быть скалярами или двумерными (в этом случае столбцы представляют отдельные наборы данных).
Эти аргументы не могут быть переданы в качестве ключевых.
-
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).
Возвращает: - lines
-
Список объектов
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')
Если вы создаёте несколько линий одной командой plot, kwargs применяются ко всем этим линиям.
Вот список доступных
Line2Dсвойств:Свойство Описание agg_filterфункция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) alphaвещественное число animatedлогическое значение antialiasedили aaлогическое значение clip_boxBboxclip_onлогическое значение clip_path[( Path,Transform) |Patch| None]colorили cцвет containsвызываемый объект dash_capstyle{'butt', 'round', 'projecting'} dash_joinstyle{'miter', 'round', 'bevel'} dashesпоследовательность чисел с плавающей точкой (перо/пробел в точках) или (None, None) drawstyleили ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, по умолчанию: 'default' figureFigurefillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'} gidстрока in_layoutлогическое значение labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...} linewidthили lwвещественное число markerстиль маркера markeredgecolorили mecцвет markeredgewidthили mewвещественное число markerfacecolorили mfcцвет markerfacecoloraltили mfcaltцвет markersizeили msвещественное число markeveryNone или целое число или (целое число, целое число) или срез или список целых чисел или вещественное число или (вещественное число, вещественное число) path_effectsAbstractPathEffectpickerвещественное число или вызываемый объект [[Художник, Событие], Кортеж[логическое значение, словарь]] pickradiusвещественное число rasterizedлогическое значение или None sketch_params(масштаб: вещественное число, длина: вещественное число, случайность: вещественное число) snapлогическое значение или None solid_capstyle{'butt', 'round', 'projecting'} solid_joinstyle{'miter', 'round', 'bevel'} transformmatplotlib.transforms.Transformurlстрока visibleлогическое значение 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 's'квадратный маркер '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
END_OF_DOCUMENT_MARKER END_OF_DOCUMENT_MARKER
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.plot.html