matplotlib.pyplot.plot
-
matplotlib.pyplot.plot(*args, **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 и свойств линии необходимы только если вам нужны явные отклонения от этих значений по умолчанию. В качестве альтернативы можно также изменить цикл стилей, используя rcParam «axes.prop_cycle».
Параметры: -
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).
Возвращаемое значение: - 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Функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaЧисло с плавающей точкой (от 0.0 — прозрачный до 1.0 — непрозрачный) animatedБулево значение antialiasedили aaБулево значение clip_boxЭкземпляр Bboxclip_onБулево значение clip_path[( Path,Transform) |Patch| None]colorили cЛюбой цвет matplotlib containsФункция-обработчик dash_capstyle['butt' | 'round' | 'projecting'] dash_joinstyle['miter' | 'round' | 'bevel'] dashesПоследовательность включения/выключения чернил в точках drawstyle['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post'] figureЭкземпляр Figurefillstyle['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] gidСтрока идентификатора labelОбъект linestyleили ls['solid' | 'dashed', 'dashdot', 'dotted' | (смещение, последовательность включения/выключения) | '-'|'--'|'-.'|':'|'None'|' '|'']linewidthили lwЗначение в точках markerA valid marker stylemarkeredgecolorили mecЛюбой цвет matplotlib markeredgewidthили mewЗначение в точках markerfacecolorили mfcЛюбой цвет matplotlib markerfacecoloraltили mfcaltЛюбой цвет matplotlib markersizeили msЧисло с плавающей точкой markevery[None | int | кортеж длины 2 из int | срез | список/массив int | float | кортеж длины 2 из float] path_effectsAbstractPathEffectpickerРасстояние в точках или вызываемая функция выбора fn(artist, event)pickradiusРасстояние в точках rasterizedБулево значение или None sketch_params(масштаб: float, длина: float, случайность: float) snapБулево значение или None solid_capstyle['butt' | 'round' | 'projecting'] solid_joinstyle['miter' | 'round' | 'bevel'] transformЭкземпляр matplotlib.transforms.TransformurlСтрока URL visibleБулево значение xdataОдномерный массив ydataОдномерный массив zorderЧисло с плавающей точкой
-
См. также
-
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'маркер х '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'.
-
Примеры использования matplotlib.pyplot.plot
END_OF_DOCUMENT_MARKER
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/_as_gen/matplotlib.pyplot.plot.html