Spec-Zone.ru › Matplotlib

matplotlib.axes.Axes.quiver

Axes.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'.

scalefloat, необязательно

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

Количество единиц данных на единицу длины стрелки, например, м/с на ширину графика; меньшее значение масштаба делает стрелку длиннее. По умолчанию — 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': Пиксели или дюймы, основанные на разрешении изображения.
  • 'x', 'y', 'xy': X, Y или \(\sqrt{X^2 + Y^2}\) в единицах данных.

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

units

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

изменение размера изображения

'x', 'y', 'xy'

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

—

'width', 'height'

—

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

'dots', 'inches'

—

—

widthfloat, необязательно

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

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

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

Ширина головки в кратных значениях width. См. примечания ниже.

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

Длина головки в кратных значениях width. См. примечания ниже.

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

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

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

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

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

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

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

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

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

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

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

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

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

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив с плавающей точкой (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 или штрихи или 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 или float или вызываемая функция

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

булево значение

zorder

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

См. также

Axes.quiverkey

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

Примечания

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

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

../../_images/quiver_sizes.svg

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

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

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

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

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

Простой пример quiver-графика с quiverkey

Простой пример quiver-графика с quiverkey

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

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

3D quiver-график

3D quiver-график

quiver(X, Y, U, V)

quiver(X, Y, U, V)

quiver(X, Y, Z, U, V, W)

quiver(X, Y, Z, U, V, W)

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

Spec-Zone.ru

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