Spec-Zone.ru › Matplotlib

matplotlib.pyplot.quiver

matplotlib.pyplot.quiver(*args, data=None, **kwargs)[source]

Построение 2D поля стрелок.

Вызов:

quiver([X, Y], U, V, [C], **kwargs)

X, Y определяют расположение стрелок, U, V — направления стрелок, а C (необязательно) задаёт цвет.

Длина стрелки

По умолчанию длина стрелок автоматически масштабируется до разумного размера. Для изменения этого поведения см. параметры scale и scale_units.

Форма стрелки

Форма стрелки определяется параметрами width, headwidth, headlength и headaxislength. См. примечания ниже.

Стиль стрелки

Каждая стрелка внутренне представлена заполненным многоугольником с линией обводки по умолчанию 0. В результате, стрелка — это скорее заполненная область, а не линия с наконечником, и свойства PolyCollection такие как linewidth, edgecolor, facecolor и т.д. действуют соответственно.

Параметры:
X, Y1D или 2D массив, необязательно

Координаты x и y расположения стрелок.

Если не указаны, они будут сгенерированы как равномерная сетка целых чисел на основе размеров U и V.

Если X и Y 1D, а U, V 2D, X и Y расширяются до 2D с помощью X, Y = np.meshgrid(X, Y). В этом случае len(X) и len(Y) должны соответствовать размерностям столбцов и строк U и V.

U, V1D или 2D массив

Компоненты направлений стрелок по осям x и y. Интерпретация этих компонентов (в данных или в пространстве экрана) зависит от angles.

U и V должны иметь одинаковое количество элементов, соответствующее количеству расположений стрелок в X, Y. U и V могут быть замаскированы. Расположения, замаскированные в любом из U, V и C, не будут отрисованы.

C1D или 2D массив, необязательно

Числовые данные, определяющие цвета стрелок с помощью цветовой карты norm и cmap.

Не поддерживает явных цветов. Если нужно установить цвета напрямую, используйте color. Размер C должен соответствовать количеству расположений стрелок.

angles{'uv', 'xy'} или массив, по умолчанию: 'uv'

Способ определения угла стрелок.

  • 'uv': Направление стрелки в координатах экрана. Используйте этот параметр, если стрелки символизируют величину, не основанную на координатах данных X, Y.

    Если U == V, ориентация стрелки на графике составляет 45 градусов против часовой стрелки от горизонтальной оси (положительное направление — вправо).

  • 'xy': Направление стрелки в координатах данных, т.е. стрелки направлены из (x, y) в (x+u, y+v). Используйте это, например, для построения поля градиента.
  • Произвольные углы могут быть заданы явно как массив значений в градусах, против часовой стрелки от горизонтальной оси.

    В этом случае U, V используются только для определения длины стрелок.

Примечание: инвертирование оси данных соответственно инвертирует стрелки только с angles='xy'.

pivot{'tail', 'mid', 'middle', 'tip'}, по умолчанию: 'tail'

Часть стрелки, привязанная к сетке X, Y. Стрелка вращается вокруг этой точки.

'mid' — синоним 'middle'.

scaleчисло, необязательно

Масштабирует длину стрелки обратно пропорционально.

Количество единиц данных на единицу длины стрелки, например, м/с на ширину графика; меньший параметр scale делает стрелку длиннее. По умолчанию None.

Если None, используется простой алгоритм автоматического масштабирования, основанный на средней длине вектора и количестве векторов. Единица длины стрелки задаётся параметром scale_units.

scale_units{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, необязательно

Если scale равен None, единица длины стрелки. По умолчанию None.

Например, scale_units — 'inches', scale — 2.0, и (u, v) = (1, 0), тогда вектор будет длиной 0.5 дюйма.

Если scale_units — 'width' или 'height', то вектор будет равен половине ширины/высоты осей.

Если scale_units — 'x', тогда вектор будет равен 0.5 единиц шкалы x. Для построения векторов в x-y плоскости, где u и v имеют те же единицы, что и x и y, используйте angles='xy', scale_units='xy', scale=1.

units{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, по умолчанию: 'width'

Влияет на размер стрелки (кроме длины). В частности, ширина ствола стрелки измеряется в кратных единицах.

Поддерживаемые значения:

  • 'width', 'height': Ширина или высота осей.
  • 'dots', 'inches': Пиксели или дюймы, основанные на dpi фигуры.
  • 'x', 'y', 'xy': X, Y или \(\sqrt{X^2 + Y^2}\) в единицах данных.

В таблице ниже подытоживается, как эти значения влияют на видимый размер стрелки при масштабировании и изменении размера фигуры:

units

масштабирование

изменение размера фигуры

'x', 'y', 'xy'

размер стрелки масштабируется

—

'width', 'height'

—

размер стрелки масштабируется

'dots', 'inches'

—

—

widthчисло, необязательно

Ширина ствола стрелки в единицах стрелок. Все параметры наконечника относительны к width.

Значение по умолчанию зависит от выбора units выше и количества векторов; типичное начальное значение — около 0.005 от ширины графика.

headwidthчисло, по умолчанию: 3

Ширина наконечника как кратное ширине ствола width. См. примечания ниже.

headlengthчисло, по умолчанию: 5

Длина наконечника как кратное ширине ствола width. См. примечания ниже.

headaxislengthчисло, по умолчанию: 4.5

Длина наконечника на пересечении со стволом как кратное ширине ствола width. См. примечания ниже.

minshaftчисло, по умолчанию: 1

Длина, ниже которой стрелка масштабируется, в единицах длины наконечника. Не устанавливайте значение меньше 1, иначе маленькие стрелки будут выглядеть ужасно!

minlengthчисло, по умолчанию: 1

Минимальная длина как кратное ширины ствола; если длина стрелки меньше этого, вместо неё рисуется точка (шестиугольник) с таким диаметром.

colorцвет или список цвет, необязательно

Явные цвета стрелок. Если C задан, color не имеет эффекта.

Это синоним параметра PolyCollection facecolor.

Возвращаемое значение:
Quiver
Другие параметры:
dataиндексируемый объект, необязательно

Если задано, все параметры также принимают строку s, которая интерпретируется как data[s] (если это не вызовет исключения).

**kwargsPolyCollection свойства, необязательно

Все другие ключевые параметры передаются в PolyCollection:

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

массивоподобный объект или скаляр или None

animated

bool

antialiased или aa или antialiaseds

bool или список bool

array

массивоподобный объект или None

capstyle

CapStyle или {'butt', 'projecting', 'round'}

clim

(vmin: float, vmax: float)

clip_box

BboxBase или None

clip_on

bool

clip_path

Patch или (Path, Transform) или None

cmap

Colormap или строка или None

color

цвет или список кортежей RGBA

edgecolor или ec или edgecolors

цвет или список цветов или 'face'

facecolor или facecolors или fc

цвет или список цветов

figure

Figure

gid

строка

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

in_layout

bool

joinstyle

JoinStyle или {'miter', 'round', 'bevel'}

label

объект

linestyle или dashes или linestyles или ls

строка или кортеж или список кортежей

linewidth или linewidths или lw

число с плавающей точкой или список чисел с плавающей точкой

mouseover

bool

norm

Normalize или строка или None

offset_transform или transOffset

Transform

offsets

(N, 2) или (2,) массивоподобный объект

path_effects

список AbstractPathEffect

paths

список массивоподобных объектов

picker

None или bool или число с плавающей точкой или вызываемая функция

pickradius

число с плавающей точкой

rasterized

bool

sizes

numpy.ndarray или None

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

transform

Transform

url

строка

urls

список строк или None

verts

список массивоподобных объектов

verts_and_codes

неизвестно

visible

bool

zorder

float

См. также

Axes.quiverkey

Добавить ключ к диаграмме векторов.

Примечания

Примечание

Это обёртка pyplot для axes.Axes.quiver.

Форма стрелки

Стрелка рисуется как многоугольник, используя узлы, как показано ниже. Значения headwidth, headlength и headaxislength указаны в единицах width.

../../_images/quiver_sizes.svg

По умолчанию получается слегка скошенная стрелка. Ниже приведены рекомендации по получению других форм:

  • Чтобы сделать головку треугольной, установите headaxislength равным headlength.
  • Чтобы сделать стрелку более заострённой, уменьшите headwidth или увеличьте headlength и headaxislength.
  • Чтобы сделать головку меньше относительно хвоста, пропорционально уменьшите все параметры головки.
  • Чтобы полностью убрать головку, установите все параметры head в 0.
  • Чтобы получить ромбовидную головку, сделайте headaxislength больше, чем headlength.
  • Предупреждение: Для headaxislength < (headlength / headwidth) узлы "headaxis" (т.е. узлы, соединяющие головку с хвостом) будут выступать за головку в направлении вперёд, так что головка стрелки будет выглядеть прерванной.

Примеры использования matplotlib.pyplot.quiver

Расширенные функции quiver и quiverkey

Расширенные функции quiver и quiverkey

Простой пример quiver

Простой пример quiver

Демонстрация trigradient

Демонстрация trigradient

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.quiver.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API