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 одномерные, а U, V двумерные, X, Y расширяются до двумерных с помощью
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число, необязательно
-
Масштабирует длину стрелки обратно пропорционально.
Число единиц данных на единицу длины стрелки, например, м/с на единицу ширины графика; меньший параметр масштаба делает стрелку длиннее. По умолчанию 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': Ширина или высота осей.
- 'dots', 'inches': Пиксели или дюймы на основе разрешения фигуры.
- '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:Свойство
Описание
функция фильтра, которая принимает массив float (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, Transform) или None
Colormapили str или 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
sizesмассив NumPy или 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.6.0/api/_as_gen/matplotlib.axes.Axes.quiver.html