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, 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'.
- 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
-
Ширина головки как кратная ширине стержня. См. примечания ниже.
- headlengthчисло, по умолчанию: 5
-
Длина головки как кратная ширине стержня. См. примечания ниже.
- headaxislengthчисло, по умолчанию: 4.5
-
Длина головки в точке пересечения со стержнем как кратная ширине стержня. См. примечания ниже.
- minshaftчисло, по умолчанию: 1
-
Длина, ниже которой стрелка масштабируется, в единицах длины головки. Не устанавливайте это значение меньше 1, иначе маленькие стрелки будут выглядеть ужасно!
- minlengthчисло, по умолчанию: 1
-
Минимальная длина как кратная ширине стержня; если длина стрелки меньше этого значения, вместо нее отображается точка (шестиугольник) такого диаметра.
- colorцвет или последовательность цветов, необязательно
-
Явный цвет(а) стрелок. Если C задан, color не имеет эффекта.
Это синоним параметра
PolyCollectionfacecolor.
- Возвращаемое значение:
-
Quiver
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). -
**kwargs
PolyCollectionсвойства, необязательно -
Все остальные ключевые аргументы передаются в
PolyCollection:
Свойство
Описание
функция фильтра, которая принимает (m, n, 3) массив чисел с плавающей запятой и значение dpi, и возвращает (m, n, 3) массив и два смещения от нижнего левого угла изображения
массивоподобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
массивоподобный объект или None
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
bool
Объект Patch или (объект Path, преобразование) или None
Colormapили строка или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили 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,) массивоподобный объект
список массивоподобных объектов
None или bool или число с плавающей запятой или вызываемая функция
неизвестно
bool
sizesnumpy.ndarrayили None(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивоподобных объектов
неизвестно
bool
число с плавающей запятой
См. также
Axes.quiverkey-
Добавление ключа к графику векторов.
Примечания
Форма стрелки
Стрелка рисуется как многоугольник с использованием узлов, как показано ниже. Значения headwidth, headlength и headaxislength указаны в единицах width.
По умолчанию получается слегка загнутая стрелка. Ниже приведены рекомендации по получению других форм стрелки:
- Чтобы сделать головку треугольной, установите headaxislength равным headlength.
- Чтобы сделать стрелку более острой, уменьшите headwidth или увеличьте headlength и headaxislength.
- Чтобы сделать головку меньше по отношению к стволу, масштабируйте все параметры головки пропорционально.
- Чтобы полностью удалить головку, установите все параметры head в 0.
- Чтобы получить головку в форме ромба, сделайте headaxislength больше, чем headlength.
- Предупреждение: для headaxislength < (headlength / headwidth) узлы "headaxis" (т.е. те, которые соединяют головку со стволом) будут выступать за пределы головки в направлении вперед, что сделает стрелку головкой неполной.
Примеры использования matplotlib.axes.Axes.quiver
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.axes.Axes.quiver.html