matplotlib.quiver.Barbs
- classmatplotlib.quiver.Barbs(ax, *args, pivot='tip', length=7, barbcolor=None, flagcolor=None, sizes=None, fill_empty=False, barb_increments=None, rounding=True, flip_barb=False, **kw)[source]
-
Bases:
matplotlib.collections.PolyCollectionСпециализированное PolyCollection для штрихов.
Единственный метод API —
set_UVC(), который можно использовать для изменения размера, ориентации и цвета стрелок. Позиции изменяются с помощью метода коллекцииset_offsets(). Возможно, этот метод будет полезен при анимации.Есть одна внутренняя функция
_find_tails(), которая определяет, что нужно отобразить на штрихе, учитывая величину вектора. После этого используется функция_make_barbs(), чтобы определить вершины многоугольника для представления штриха на основе этой информации.Конструктор принимает один обязательный аргумент, экземпляр Axes, за которым следуют аргументы и ключевые аргументы, описанные в документации интерфейса pyplot:
Построение 2D поля штрихов.
Вызов:
barbs([X, Y], U, V, [C], **kw)
Где X, Y определяют расположение штрихов, U, V — направления штрихов, а C (необязательно) устанавливает цвет.
Все аргументы могут быть одномерными или двумерными. U, V, C могут быть массивными массивами, но в настоящее время не поддерживаются маскированные X, Y.
Штрихи традиционно используются в метеорологии для отображения скорости и направления ветра, но технически могут использоваться для отображения любых двумерных векторных величин. В отличие от стрелок, которые показывают величину вектора по длине стрелки, штрихи предоставляют более количественную информацию о величине вектора, размещая наклонные линии или треугольник для различных приращений величины, как показано на схеме ниже:
: /\ \ : / \ \ : / \ \ \ : / \ \ \ : ------------------------------
Наибольшее приращение задаётся треугольником («флагом»). За ними следуют сплошные линии (штрихи). Наименьшее приращение — это половина линии. Конечно, максимальное количество половинных линий — одна. Если величина невелика и требуется только одна половина линии, без сплошных линий или треугольников, то половина линии смещается от конца штриха, чтобы её легко было отличить от штрихов с одной сплошной линией. Величина показанного выше штриха, согласно стандартным приращениям 50, 10 и 5, составляла бы 65.
См. также https://en.wikipedia.org/wiki/Wind_barb.
- Parameters
-
- X, Y1D или 2D массив-подобный объект, необязательно
-
Координаты x и y расположения штрихов. См. pivot, чтобы узнать, как штрихи рисуются к позициям 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 оси штриха.
- C1D или 2D массив-подобный объект, необязательно
-
Числовые данные, определяющие цвета штрихов с помощью norm и cmap.
Не поддерживает явные цвета. Если нужно задать цвета напрямую, используйте barbcolor.
- lengthfloat, по умолчанию: 7
-
Длина штриха в пунктах; другие части штриха масштабируются относительно этого значения.
- pivot{'tip', 'middle'} или float, по умолчанию: 'tip'
-
Часть стрелки, прикреплённой к сетке X, Y. Штрих вращается вокруг этой точки. Это также может быть число, которое смещает начало штриха на указанное количество пунктов от точки сетки.
- barbcolorцвет или последовательность цветов
-
Цвет всех частей штриха, кроме флагов. Этот параметр аналогичен параметру edgecolor для многоугольников, который можно использовать вместо него. Однако этот параметр переопределит facecolor.
- flagcolorцвет или последовательность цветов
-
Цвет флагов на штрихе. Этот параметр аналогичен параметру facecolor для многоугольников, который можно использовать вместо него. Однако этот параметр переопределит facecolor. Если он не задан (и C тоже) , то flagcolor будет установлен, чтобы соответствовать barbcolor, чтобы штрих имел однородный цвет. Если C задано, flagcolor не влияет.
- sizesdict, необязательно
-
Словарь коэффициентов, определяющих отношение заданного элемента к длине штриха. Включаются только те значения, которые нужно переопределить. Эти элементы включают:
- 'spacing' - расстояние между элементами (флагами, полными/половинными штрихами)
- 'height' - высота (расстояние от оси до вершины) флага или полного штриха
- 'width' - ширина флага, вдвое больше ширины полного штриха
- 'emptybarb' - радиус окружности, используемой для малых величин
- fill_emptybool, по умолчанию: False
-
Заполняются ли пустые штрихи (кружки), которые рисуются, цветом флага. Если они не заполнены, центр прозрачен.
- roundingbool, по умолчанию: True
-
Надо ли округлять величину вектора при распределении компонентов штриха. Если True, величина округляется до ближайшего кратного приращения половины штриха. Если False, величина просто усекается до ближайшего меньшего кратного.
- barb_incrementsdict, необязательно
-
Словарь приращений, определяющий значения, которые нужно сопоставить с разными частями штриха. Включаются только те значения, которые нужно переопределить.
- 'half' - половинки штрихов (по умолчанию 5)
- 'full' - целые штрихи (по умолчанию 10)
- 'flag' - флаги (по умолчанию 50)
- flip_barbbool или массив bool, по умолчанию: False
-
Надо ли перевернуть линии и флаги. Обычное поведение заключается в том, что штрихи и линии указывают вправо (это связано с тем, что штрихи ветра имеют эти элементы, указывающие на низкое давление в Северном полушарии).
Одно значение применяется ко всем штрихам. Отдельные штрихи можно перевернуть, передав массив bool тех же размеров, что и U и V.
- Returns
-
-
barbs
Barbs
-
barbs
- Other Parameters
-
- данныеиндексируемый объект, необязательно
-
ПОДСТАВКА_ПАРАМЕТРА_ДАННЫХ
- **kwargs
-
Стрелки можно дополнительно настроить, используя ключевые аргументы
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или строка или Noneцвет или список кортежей rgba
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили штрихи или linestyles или lsстрока или кортеж или список
linewidthили linewidths или lwfloat или список float
Normalizeили None(N, 2) или (2,) массивоподобный объект
список массивоподобных объектов
None или bool или float или вызываемый объект
float
bool
sizesndarray или None
(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивоподобных объектов
неизвестно
bool
float
-
- barbs_doc='\nОтображение 2D поля стрелок.\n\nВызов синтаксиса::\n\n barbs([X, Y], U, V, [C], **kw)\n\nГде *X*, *Y* определяют расположение стрелок, *U*, *V* определяют\nнаправления стрелок, а *C* необязательно задаёт цвет.\n\nВсе аргументы могут быть одномерными или двумерными. *U*, *V*, *C* могут\nбыть массивами с пропускаемыми значениями, но *X*, *Y* в настоящее время\nне поддерживаются.\n\nСтрелки традиционно используются в метеорологии для отображения\nскорости и направления наблюдений за ветром, но теоретически их можно\nиспользовать для отображения любой двумерной векторной величины. В\nотличие от стрелок, которые указывают величину вектора длиной стрелки,\nстрелки дают более количественную информацию о величине вектора,\nпомещая наклонные линии или треугольник для различных приращений\nвеличины, как показано схематично ниже::\n\n : /\\ \\\n : / \\ \\\n : / \\ \\ \\\n : / \\ \\ \\\n : ------------------------------\n\nНаибольшее приращение задается треугольником (или «флагом»). За ним\nследуют полные линии (стрелки). Наименьшее приращение – это половина\nлинии. Конечно, может быть максимум 1 половина линии. Если величина\nмаленькая и требуется только одна половина линии и нет полных линий\nили треугольников, половина линии смещена от конца стрелки, чтобы её\nможно было легко отличить от стрелок с одной полной линией. Величина\nдля показанной выше стрелки обычно составляет 65, используя стандартные\nприращения 50, 10 и 5.\n\nСм. также https://ru.wikipedia.org/wiki/Стрелка_ветра.\n\nПараметры\n----------\nX, Y : одномерный или двумерный массив, необязательно\n Координаты x и y расположения стрелок. См. *pivot*, чтобы понять,\n как стрелки наносятся на позиции x, y.\n\n Если они не указаны, они будут сгенерированы как равномерная целочисленная\n сетка, основанная на размерности *U* и *V*.\n\n Если *X* и *Y* одномерны, а *U*, *V* двумерны, *X*, *Y* расширяются до\n двумерных с помощью ``X, Y = np.meshgrid(X, Y)``. В этом случае\n ``len(X)`` и ``len(Y)`` должны соответствовать размерностям столбцов\n и строк *U* и *V*.\n\nU, V : одномерный или двумерный массив\n Компоненты x и y оси стрелки.\n\nC : одномерный или двумерный массив, необязательно\n Численные данные, которые определяют цвета стрелок с помощью\n цветового отображения через *norm* и *cmap*.\n\n Это не поддерживает явные цвета. Если вы хотите напрямую задать цвета,\n используйте *barbcolor* вместо этого.\n\nlength : float, по умолчанию: 7\n Длина стрелки в пунктах; другие части стрелки масштабируются\n относительно этого.\n\npivot : {\'tip\', \'middle\'} или float, по умолчанию: \'tip\'\n Часть стрелки, которая прикреплена к сетке *X*, *Y*. Стрелка вращается\n вокруг этой точки. Это также может быть число, которое смещает начало\n стрелки на заданное количество пунктов от точки сетки.\n\nbarbcolor : цвет или последовательность цветов\n Цвет всех частей стрелки, кроме флагов. Этот параметр аналогичен\n параметру *edgecolor* для полигонов, который можно использовать\n вместо него. Однако этот параметр переопределит *facecolor*.\n\nflagcolor : цвет или последовательность цветов\n Цвет любых флагов на стрелке. Этот параметр аналогичен\n параметру *facecolor* для полигонов, который можно использовать\n вместо него. Однако этот параметр переопределит *facecolor*. Если это\n не задано (и *C* тоже нет), *flagcolor* будет установлен для\n соответствия *barbcolor*, чтобы стрелка имела однородный цвет. Если\n *C* задан, *flagcolor* не имеет эффекта.\n\nsizes : словарь, необязательно\n Словарь коэффициентов, определяющих соотношение заданного\n параметра к длине стрелки. Нужно включать только те значения,\n которые нужно переопределить. Эти параметры включают:\n\n - \'spacing\' - расстояние между элементами (флагами, полными/\n половинами стрелок)\n - \'height\' - высота (расстояние от оси до вершины) флага или\n полной стрелки\n - \'width\' - ширина флага, вдвое больше ширины полной стрелки\n - \'emptybarb\' - радиус окружности, используемой для малых\n величин\n\nfill_empty : bool, по умолчанию: False\n Заполнять ли пустые стрелки (окружности), которые нарисованы,\n цветом флага. Если они не заполнены, центр прозрачен.\n\nrounding : bool, по умолчанию: True\n Округлять ли величину вектора при распределении компонентов\n стрелки. Если True, величина округляется до ближайшего\n кратного половине приращения стрелки. Если False, величина\n просто усекается до ближайшего меньшего кратного.\n\nbarb_increments : словарь, необязательно\n Словарь приращений, задающий значения для связи с\n различными частями стрелки. Нужно включать только те значения,\n которые нужно переопределить.\n\n - \'half\' - половины стрелок (По умолчанию 5)\n - \'full\' - полные стрелки (По умолчанию 10)\n - \'flag\' - флаги (по умолчанию 50)\n\nflip_barb : bool или массив bool, по умолчанию: False\n Отображать ли линии и флаги в обратном направлении.\n Нормальное поведение состоит в том, чтобы стрелки и линии\n указывали вправо (это происходит от стрелок ветра, у которых\n эти элементы направлены к низкому давлению в Северном\n полушарии).\n\n Одно значение применяется ко всем стрелкам. Отдельные стрелки\n могут быть перевернуты, передав массив bool того же размера,\n что и *U* и *V*.\n\nВозвращает\n-------\nстрелки : `~matplotlib.quiver.Barbs`\n\nДругие параметры\n----------------\ndata : индексируемый объект, необязательно\n DATA_PARAMETER_PLACEHOLDER\n\n**kwargs\n Стрелки можно далее настроить, используя ключевые аргументы\n `.PolyCollection`:\n\n \n .. table::\n :class: property-table\n\n ================================================================================================= =====================================================================================================\n Свойство Описание \n ================================================================================================= =====================================================================================================\n :meth:`agg_filter <matplotlib.artist.Artist.set_agg_filter>` функция фильтра, которая принимает массив float (m, n, 3) и значение dpi и возвращает массив float (m, n, 3)\n :meth:`alpha <matplotlib.collections.Collection.set_alpha>` массив или скаляр или None \n :meth:`animated <matplotlib.artist.Artist.set_animated>` bool \n :meth:`antialiased <matplotlib.collections.Collection.set_antialiased>` или aa или antialiaseds bool или список bool \n :meth:`array <matplotlib.cm.ScalarMappable.set_array>` массив или None \n :meth:`capstyle <matplotlib.collections.Collection.set_capstyle>` `.CapStyle` или {\'butt\', \'projecting\', \'round\'} \n :meth:`clim <matplotlib.cm.ScalarMappable.set_clim>` (vmin: float, vmax: float) \n :meth:`clip_box <matplotlib.artist.Artist.set_clip_box>` `.Bbox` \n :meth:`clip_on <matplotlib.artist.Artist.set_clip_on>` bool \n :meth:`clip_path <matplotlib.artist.Artist.set_clip_path>` Patch или (Path, Transform) или None \n :meth:`cmap <matplotlib.cm.ScalarMappable.set_cmap>` `.Colormap` или str или None \n :meth:`color <matplotlib.collections.Collection.set_color>` цвет или список кортежей rgba \n :meth:`edgecolor <matplotlib.collections.Collection.set_edgecolor>` или ec или edgecolors цвет или список цветов или \'face\' \n :meth:`facecolor <matplotlib.collections.Collection.set_facecolor>` или facecolors или fc цвет или список цветов \n :meth:`figure <matplotlib.artist.Artist.set_figure>` `.Figure` \n :meth:`gid <matplotlib.artist.Artist.set_gid>` str \n :meth:`hatch <matplotlib.collections.Collection.set_hatch>` {\'/\', \'\\\\\', \'|\', \'-\', \'+\', \'x\', \'o\', \'O\', \'.\', \'*\'} \n :meth:`in_layout <matplotlib.artist.Artist.set_in_layout>` bool \n :meth:`joinstyle <matplotlib.collections.Collection.set_joinstyle>` `.JoinStyle` или {\'miter\', \'round\', \'bevel\'} \n :meth:`label <matplotlib.artist.Artist.set_label>` объект \n :meth:`linestyle <matplotlib.collections.Collection.set_linestyle>` или dashes или linestyles или ls str или кортеж или список \n :meth:`linewidth <matplotlib.collections.Collection.set_linewidth>` или linewidths или lw float или список чисел \n :meth:`norm <matplotlib.cm.ScalarMappable.set_norm>` `.Normalize` или None \n :meth:`offset_transform <matplotlib.collections.Collection.set_offset_transform>` `.Transform` \n :meth:`offsets <matplotlib.collections.Collection.set_offsets>` (N, 2) или (2,) массив \n :meth:`path_effects <matplotlib.artist.Artist.set_path_effects>` `.AbstractPathEffect` \n :meth:`paths <matplotlib.collections.PolyCollection.set_verts>` список массивов \n :meth:`picker <matplotlib.artist.Artist.set_picker>` None или bool или float или вызываемая функция \n :meth:`pickradius <matplotlib.collections.Collection.set_pickradius>` float \n :meth:`rasterized <matplotlib.artist.Artist.set_rasterized>` bool \n :meth:`sizes <matplotlib.collections._CollectionWithSizes.set_sizes>` ndarray или None \n :meth:`sketch_params <matplotlib.artist.Artist.set_sketch_params>` (scale: float, length: float, randomness: float) \n :meth:`snap <matplotlib.artist.Artist.set_snap>` bool или None \n :meth:`transform <matplotlib.artist.Artist.set_transform>` `.Transform` \n :meth:`url <matplotlib.artist.Artist.set_url>` str \n :meth:`urls <matplotlib.collections.Collection.set_urls>` список str или None \n :meth:`verts <matplotlib.collections.PolyCollection.set_verts>` список массивов \n :meth:`verts_and_codes <matplotlib.collections.PolyCollection.set_verts_and_codes>` неизвестно \n :meth:`visible <matplotlib.artist.Artist.set_visible>` bool \n :meth:`zorder <matplotlib.artist.Artist.set_zorder>` float \n ================================================================================================= =====================================================================================================\n\n'
- 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=<НЕОПРЕДЕЛЕНО>, norm=<НЕОПРЕДЕЛЕНО>, offset_transform=<НЕОПРЕДЕЛЕНО>, offsets=<НЕОПРЕДЕЛЕНО>, path_effects=<НЕОПРЕДЕЛЕНО>, paths=<НЕОПРЕДЕЛЕНО>, picker=<НЕОПРЕДЕЛЕНО>, pickradius=<НЕОПРЕДЕЛЕНО>, rasterized=<НЕОПРЕДЕЛЕНО>, sizes=<НЕОПРЕДЕЛЕНО>, sketch_params=<НЕОПРЕДЕЛЕНО>, snap=<НЕОПРЕДЕЛЕНО>, transform=<НЕОПРЕДЕЛЕНО>, url=<НЕОПРЕДЕЛЕНО>, urls=<НЕОПРЕДЕЛЕНО>, verts=<НЕОПРЕДЕЛЕНО>, verts_and_codes=<НЕОПРЕДЕЛЕНО>, visible=<НЕОПРЕДЕЛЕНО>, zorder=<НЕОПРЕДЕЛЕНО>)[source]
-
Установить несколько свойств сразу.
Поддерживаются следующие свойства:
Свойство
Описание
неизвестно
функция фильтра, которая принимает массив с плавающей точкой (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последовательность пар чисел с плавающей точкой
список массивов-подобных объектов
None или bool или число с плавающей точкой или вызываемая функция
число с плавающей точкой
bool
sizesмассив NumPy или None
(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
список массивов-подобных объектов
неизвестно
bool
число с плавающей точкой
-
- set_UVC(U, V, C=None)[source]
- set_offsets(xy)[source]
-
Установите смещения для полигонов стрелок. Это сохраняет переданные смещения и маскирует их соответствующим образом для имеющихся данных U/V.
- Параметры
-
- xyпоследовательность пар чисел с плавающей точкой
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.quiver.Barbs.html