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, а затем аргументы и ключевые аргументы, описанные в документации интерфейса 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, YОдномерный или двумерный массив, необязательно
-
Координаты x и y расположения стрелок.
Если не заданы, они будут сгенерированы как равномерная целочисленная сетка на основе размеров U и V.
Если X и Y одномерны, а U, V двумерны, X, Y расширяются до двумерного представления с помощью
X, Y = np.meshgrid(X, Y). В этом случаеlen(X)иlen(Y)должны соответствовать размерам столбцов и строк U и V. - U, VОдномерный или двумерный массив
-
Компоненты x и y векторов направления стрелок. Интерпретация этих компонентов (в данных или в пространстве экрана) зависит от angles.
U и V должны иметь одинаковое количество элементов, соответствующее количеству расположений стрелок в X, Y. U и V могут быть замаскированы. Расположения, замаскированные в любом из U, V и C, не будут отображаться.
- CОдномерный или двумерный массив, необязательно
-
Числовые данные, определяющие цвета стрелок с помощью отображения цвета по карте цветов 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 измеряется в единицах этого параметра.
Допустимые значения:
- '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 не имеет значения.
Это синоним параметра
PolyCollectionfacecolor.
- Возвращаемые значения:
-
Quiver
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
МЕСТОЗАМЕСТИТЕЛЬ_ПАРАМЕТРА_ДАННЫХ
-
**kwargs
PolyCollectionсвойства, необязательно -
Все остальные ключевые аргументы передаются в
PolyCollection:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
массивоподобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
массивоподобный объект или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
объект Patch или (Path, Transform) или None
Colormapили str или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsfacecolorили facecolors или fcстрока
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили штрихи или linestyles или lsстрока или кортеж или список
linewidthили linewidths или lwчисло с плавающей точкой или список чисел с плавающей точкой
bool
Normalizeили строка или Noneoffset_transformили transOffset(N, 2) или (2,) массивоподобный объект
список
AbstractPathEffectсписок массивоподобных объектов
None или bool или число с плавающей точкой или вызываемый объект
число с плавающей точкой
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивоподобных объектов
неизвестно
логическое значение
вещественное число
См. также
Axes.quiverkey-
Добавление ключа к диаграмме векторов.
Примечания
Форма стрелки
Стрелка рисуется как многоугольник, используя узлы, как показано ниже. Значения headwidth, headlength и headaxislength задаются в единицах width.
По умолчанию получается слегка загнутая стрелка. Ниже приведены рекомендации по получению других форм стрелок:
- Чтобы сделать стрелку треугольной, сделайте headaxislength равным headlength.
- Чтобы сделать стрелку более острой, уменьшите headwidth или увеличьте headlength и headaxislength.
- Чтобы сделать стрелку меньше относительно ствола, пропорционально уменьшите все параметры стрелки.
- Чтобы полностью убрать стрелку, установите все параметры head в 0.
- Чтобы получить ромбовидную стрелку, сделайте headaxislength больше, чем headlength.
- Предупреждение: Для headaxislength < (headlength / headwidth) узлы "headaxis" (т. е. узлы, соединяющие голову со стволом) будут выступать за пределы головки в переднем направлении, что приведет к тому, что головка стрелки будет выглядеть прерванной.
- draw(renderer)[source]
-
Отображение объекта (и его дочерних элементов) с помощью заданного рендерера.
Этот метод не оказывает никакого влияния, если объект не отображается (
Artist.get_visibleвозвращает False).- Параметры:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределён в подклассах Artist.
- get_datalim(transData)[source]
- set(*, UVC=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, array=<UNSET>, capstyle=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, offset_transform=<UNSET>, offsets=<UNSET>, path_effects=<UNSET>, paths=<UNSET>, picker=<UNSET>, pickradius=<UNSET>, rasterized=<UNSET>, sizes=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, urls=<UNSET>, verts=<UNSET>, verts_and_codes=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Установить сразу несколько свойств.
Поддерживаемые свойства:
Свойство
Описание
неизвестно
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
массив, скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
массив или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
Patch или (Path, Transform) или None
Colormapили str или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsfacecolorили facecolors или fcстрока
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили dashes или linestyles или lsстрока или кортеж или список
linewidthили linewidths или lwчисло с плавающей точкой или список чисел с плавающей точкой
bool
Normalizeили строка или Noneoffset_transformили transOffset(N, 2) или (2,) массив
список
AbstractPathEffectсписок массивов
None или bool или число с плавающей точкой или вызываемый объект
число с плавающей точкой
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
строка
-
список str или None
список массивоподобных объектов
неизвестно
bool
float
- set_UVC(U, V, C=None)[source]
Примеры использования matplotlib.quiver.Quiver
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.quiver.Quiver.html