matplotlib.axes.Axes.quiver
- Axes.quiver(*args, data=None, **kwargs)[source]
-
Построение 2D поля векторов.
Вызов:
quiver([X, Y], U, V, [C], **kw)
X, Y определяют расположение векторов, U, V определяют направление векторов, а C необязательно задает цвет.
Каждый вектор внутренне представлен заполненным многоугольником с толщиной линии по умолчанию 0. В результате, вектор — это скорее заполненная область, а не линия со стрелкой, и свойства
PolyCollection, такие как linewidth, linestyle, facecolor и т.д., действуют соответственно.Размер стрелок
По умолчанию длина стрелок автоматически масштабируется до разумного размера. Чтобы изменить это поведение, см. параметры scale и scale_units.
Форма стрелок
По умолчанию стрелка имеет немного загнутый наконечник; чтобы сделать наконечник треугольным, установите headaxislength равным headlength. Чтобы сделать стрелку более острой, уменьшите headwidth или увеличьте headlength и headaxislength. Чтобы уменьшить наконечник по отношению к стержню, уменьшите все параметры наконечника. Вероятно, лучше оставить minshaft без изменений.
Контур стрелок
linewidths и edgecolors можно использовать для настройки контуров стрелок.
- Параметры
-
- 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 векторов.
Они должны иметь одинаковое количество элементов, соответствующее количеству расположений векторов. U и V могут быть замаскированы. Будут нарисованы только те расположения, которые не замаскированы в U, V и C.
- C1D или 2D массив, необязательно
-
Числовые данные, определяющие цвета стрелок с помощью цветовой карты norm и cmap.
Прямые цвета не поддерживаются. Если нужно задать цвета напрямую, используйте color. Размер C должен соответствовать количеству расположений векторов.
- units{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, по умолчанию: 'width'
-
Размеры стрелок (кроме length) измеряются в единицах этого типа.
Поддерживаются следующие значения:
- 'width', 'height': Ширина или высота осей.
- 'dots', 'inches': Пиксели или дюймы, основанные на разрешении фигуры.
- 'x', 'y', 'xy': X, Y или \(\sqrt{X^2 + Y^2}\) в единицах данных.
Стрелки масштабируются по-разному в зависимости от единиц. Для 'x' или 'y' стрелки увеличиваются при приближении; для других единиц размер стрелок не зависит от масштаба. Для 'width' или 'height' размер стрелки увеличивается с шириной и высотой осей соответственно при изменении размера окна; для 'dots' или 'inches' изменение размера не влияет на стрелки.
- angles{'uv', 'xy'} или массив, по умолчанию: 'uv'
-
Способ определения угла стрелок.
-
'uv': Соотношение сторон стрелки по оси 1, так что если U == V, ориентация стрелки на графике составляет 45 градусов против часовой стрелки от горизонтальной оси (положительное направление вправо).
Используйте это, если стрелки символизируют величину, не основанную на координатах данных X, Y.
- 'xy': Стрелки направлены от (x, y) к (x+u, y+v). Используйте это для построения градиентного поля, например.
-
В качестве альтернативы, произвольные углы могут быть указаны явно как массив значений в градусах, против часовой стрелки от горизонтальной оси.
В этом случае U, V используются только для определения длины стрелок.
Примечание: инвертирование оси данных будет соответственным образом инвертировать стрелки только с
angles='xy'. -
- 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. - widthfloat, необязательно
-
Ширина стержня стрелки в единицах стрелок; по умолчанию зависит от выбора единиц, выше, и количества векторов; типичное начальное значение составляет примерно 0,005 от ширины графика.
- headwidthfloat, по умолчанию: 3
-
Ширина наконечника как кратная ширине стержня.
- headlengthfloat, по умолчанию: 5
-
Длина наконечника как кратная ширине стержня.
- headaxislengthfloat, по умолчанию: 4.5
-
Длина наконечника в точке пересечения со стержнем.
- minshaftfloat, по умолчанию: 1
-
Длина, ниже которой стрелка масштабируется в единицах длины наконечника. Не устанавливайте это значение меньше 1, иначе маленькие стрелки будут выглядеть ужасно!
- minlengthfloat, по умолчанию: 1
-
Минимальная длина как кратная ширине стержня; если длина стрелки меньше этого значения, вместо нее отображается точка (шестиугольник) такого диаметра.
- pivot{'tail', 'mid', 'middle', 'tip'}, по умолчанию: 'tail'
-
Часть стрелки, которая прикреплена к сетке X, Y. Стрелка вращается вокруг этой точки.
'mid' — синоним 'middle'.
- 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, Transform) или 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число с плавающей точкой или список чисел с плавающей точкой
Normalizeили Noneмассивоподобный объект (N, 2) или (2,)
список массивоподобных объектов
None или bool или float или вызываемый объект
число с плавающей точкой
bool
sizesмассив NumPy или None
(scale: число с плавающей точкой, length: число с плавающей точкой, randomness: число с плавающей точкой)
bool или None
строка
список строк или None
список массивоподобных объектов
неизвестно
bool
число с плавающей точкой
-
См. также
Axes.quiverkey-
Добавить ключ к графику векторов.
Примеры использования matplotlib.axes.Axes.quiver
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.axes.Axes.quiver.html