Spec-Zone.ru › Matplotlib 3.8

matplotlib.quiver.Quiver

classmatplotlib.quiver.Quiver(ax, *args, scale=None, headwidth=3, headlength=5, headaxislength=4.5, minshaft=1, minlength=1, units='width', scale_units=None, angles='uv', width=None, color='k', pivot='tail', **kwargs)[source]

Bases: PolyCollection

Специализированный PolyCollection для стрелок.

Единственный метод API — set_UVC(), который можно использовать для изменения размера, ориентации и цвета стрелок; их расположение фиксируется при создании класса. Возможно, этот метод будет полезен при анимации.

Большая часть работы в этом классе выполняется в методе draw(), чтобы получить как можно больше информации о графике. В последующих вызовах draw() перерасчет ограничивается теми элементами, которые могут измениться, поэтому использование расчетов в методе draw() не должно повлиять на производительность.

Конструктор принимает один обязательный аргумент, экземпляр Axes, а затем args и kwargs, описанные в документации интерфейса pyplot:

Отображение 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 массив-подобный объект, необязательно

Числовые данные, определяющие цвета стрелок с помощью цветовой схемы (colormapping) через 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, необязательно

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

Количество единиц данных на единицу длины стрелки, например, м/с на единицу ширины графика; меньший параметр 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': Ширина или высота Axes.
  • 'dots', 'inches': Пиксели или дюймы на основе dpi фигуры.
  • '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индексируемый объект, необязательно

ПЛАЦДЕРЖАТЕЛЬ ПАРАМЕТРА ДАННЫХ

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

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

Свойство

Описание

agg_filter

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

alpha

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

animated

логическое значение

antialiased или aa или antialiaseds

логическое значение или список логических значений

array

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

capstyle

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

clim

(vmin: float, vmax: float)

clip_box

BboxBase или None

clip_on

логическое значение

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

логическое значение

joinstyle

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

label

объект

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

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

linewidth или linewidths или lw

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

mouseover

логическое значение

norm

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

offset_transform или transOffset

Transform

offsets

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

path_effects

список AbstractPathEffect

paths

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

picker

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

pickradius

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

rasterized

логическое значение

sizes

numpy.ndarray или None

sketch_params

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

snap

логическое значение или None

transform

Transform

url

строка

urls

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

verts

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

verts_and_codes

неизвестно

visible

логическое значение

zorder

float

См. также

Axes.quiverkey

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

Примечания

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

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

../../_images/quiver_sizes.svg

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

  • Чтобы сделать головку треугольной, сделайте headaxislength равным headlength.
  • Чтобы сделать стрелку более острой, уменьшите headwidth или увеличьте headlength и headaxislength.
  • Чтобы сделать головку меньше по отношению к стволу, пропорционально уменьшите все параметры головки.
  • Чтобы полностью удалить головку, установите все параметры head в 0.
  • Чтобы получить головку в форме ромба, сделайте headaxislength больше, чем headlength.
  • Предупреждение: если headaxislength < (headlength / headwidth), узлы «headaxis» (то есть те, которые соединяют головку со стволом) будут выступать за пределы головки в направлении вперед, так что головка стрелки будет выглядеть разорванной.
draw(renderer)[source]

Отрисовать элемент графического интерфейса (и его дочерние элементы) с помощью заданного рендерера.

Это не имеет эффекта, если элемент не отображается (Artist.get_visible возвращает False).

Параметры:
rendererRendererBase подкласс.

Примечания

Этот метод переопределен в подклассах элемента.

get_datalim(transData)[source]
свойствоquiver_doc[source]

[Устарело]

Примечания

Устарело начиная с версии 3.7:

set(*, UVC=<НЕОПРЕДЕЛЕНО>, agg_filter=<НЕОПРЕДЕЛЕНО>, alpha=<НЕОПРЕДЕЛЕНО>, animated=<НЕОПРЕДЕЛЕНО>, antialiased=<НЕОПРЕДЕЛЕНО>, array=<НЕОПРЕДЕЛЕНО>, capstyle=<НЕОПРЕДЕЛЕНО>, clim=<НЕОПРЕДЕЛЕНО>, clip_box=<НЕОПРЕДЕЛЕНО>, clip_on=<НЕОПРЕДЕЛЕНО>, clip_path=<НЕОПРЕДЕЛЕНО>, cmap=<НЕОПРЕДЕЛЕНО>, color=<НЕОПРЕДЕЛЕНО>, edgecolor=<НЕОПРЕДЕЛЕНО>, facecolor=<НЕОПРЕДЕЛЕНО>, gid=<НЕОПРЕДЕЛЕНО>, hatch=<НЕОПРЕДЕЛЕНО>, in_layout=<НЕОПРЕДЕЛЕНО>, joinstyle=<НЕОПРЕДЕЛЕНО>, label=<НЕОПРЕДЕЛЕНО>, linestyle=<НЕОПРЕДЕЛЕНО>, linewidth=<НЕОПРЕДЕЛЕНО>, mouseover=<НЕОПРЕДЕЛЕНО>, norm=<НЕОПРЕДЕЛЕНО>, offset_transform=<НЕОПРЕДЕЛЕНО>, offsets=<НЕОПРЕДЕЛЕНО>, path_effects=<НЕОПРЕДЕЛЕНО>, paths=<НЕОПРЕДЕЛЕНО>, picker=<НЕОПРЕДЕЛЕНО>, pickradius=<НЕОПРЕДЕЛЕНО>, rasterized=<НЕОПРЕДЕЛЕНО>, sizes=<НЕОПРЕДЕЛЕНО>, sketch_params=<НЕОПРЕДЕЛЕНО>, snap=<НЕОПРЕДЕЛЕНО>, transform=<НЕОПРЕДЕЛЕНО>, url=<НЕОПРЕДЕЛЕНО>, urls=<НЕОПРЕДЕЛЕНО>, verts=<НЕОПРЕДЕЛЕНО>, verts_and_codes=<НЕОПРЕДЕЛЕНО>, visible=<НЕОПРЕДЕЛЕНО>, zorder=<НЕОПРЕДЕЛЕНО>)[source]

Установка нескольких свойств сразу.

Поддерживаемые свойства

Свойство

Описание

UVC

неизвестно

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

вещественное число

set_UVC(U, V, C=None)[source]

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

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

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

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

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

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

Spec-Zone.ru

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