Spec-Zone.ru › Matplotlib 3.7
matplotlib.pyplot.barbs matplotlib.pyplot. barbs ( * args , data = None , ** kwargs ) [source]
Отображает двумерное поле стрелок-барбов.
Вызов:
barbs([X, Y], U, V, [C], **kwargs)
Где X , Y определяют расположение барбов, U , V определяют направление барбов, а C необязательно задаёт цвет.
Все аргументы могут быть 1D или 2D. U , V , C могут быть массивными, но массивные X , Y в настоящее время не поддерживаются.
Стрелки-барбы традиционно используются в метеорологии для отображения скорости и направления ветра, но технически могут использоваться для отображения любого двумерного векторного количества. В отличие от стрелок, которые отображают величину вектора по длине стрелки, барбы предоставляют более количественную информацию о величине вектора, используя наклонные линии или треугольник для различных приращений величины, как показано схематично ниже:
: /\ \
: / \ \
: / \ \ \
: / \ \ \
: ------------------------------
Наибольшее приращение задается треугольником (или «флагом»). После этого следуют полные линии (барбы). Наименьшее приращение — это половина линии. Конечно, не может быть более чем одной половины линии. Если величина мала и требует только одной половины линии без полных линий или треугольников, половина линии смещается от конца барба, чтобы её можно было легко отличить от барбов с одной полной линией. Величина для показанного выше барба номинально равна 65, используя стандартные приращения 50, 10 и 5.
См. также https://en.wikipedia.org/wiki/Wind_barb .
Параметры:
X, Y 1D или 2D массив-подобный объект, необязательно
Координаты x и y расположения барбов. Смотрите pivot , чтобы узнать, как барбы рисуются к позициям 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, V 1D или 2D массив-подобный объект
Компоненты x и y оси барба.
C 1D или 2D массив-подобный объект, необязательно
Числовые данные, которые определяют цвета барбов с помощью цветовой схемы norm и cmap .
Это не поддерживает явные цвета. Если вы хотите установить цвета напрямую, используйте barbcolor вместо этого.
length вещественное число, по умолчанию: 7
Длина барба в точках; другие части барба масштабируются относительно этого значения.
pivot {'tip', 'middle'} или вещественное число, по умолчанию: 'tip'
Часть стрелки, прикрепленная к сетке X , Y . Барб вращается вокруг этой точки. Это также может быть число, которое смещает начало барба на заданное количество точек от точки сетки.
barbcolor цвет или последовательность цветов
Цвет всех частей барба, кроме флагов. Этот параметр аналогичен параметру edgecolor для многоугольников, который можно использовать вместо него. Однако этот параметр переопределит facecolor .
flagcolor цвет или последовательность цветов
Цвет флагов на барбе. Этот параметр аналогичен параметру facecolor для многоугольников, который можно использовать вместо него. Однако этот параметр переопределит facecolor . Если это не задано (и C тоже нет), flagcolor будет установлен так, чтобы соответствовать barbcolor , чтобы барб имел одинаковый цвет. Если C задан, flagcolor не имеет эффекта.
sizes словарь, необязательно
Словарь коэффициентов, определяющих отношение заданного элемента к длине барба. Включить нужно только те значения, которые нужно переопределить. К этим элементам относятся:
'spacing' - расстояние между элементами (флагами, полными/половинными барбами) 'height' - высота (расстояние от оси до верха) флага или полной барбы 'width' - ширина флага, в два раза больше ширины полной барбы 'emptybarb' - радиус круга, используемого для малых величин
fill_empty bool, по умолчанию: False
Указывает, заполнять ли пустые барбы (кружки), которые нарисованы, цветом флага. Если они не заполнены, центр прозрачен.
rounding bool, по умолчанию: True
Указывает, следует ли округлять величину вектора при распределении компонентов барба. Если True, величина округляется до ближайшего кратного приращения половины барба. Если False, величина просто обрезается до ближайшего меньшего кратного.
barb_increments словарь, необязательно
Словарь приращений, определяющий значения, которые нужно сопоставить с разными частями барба. Включить нужно только те значения, которые нужно переопределить.
'half' - половины барбов (По умолчанию 5) 'full' - полные барбы (По умолчанию 10) 'flag' - флаги (по умолчанию 50)
flip_barb bool или массив bool, по умолчанию: False
Указывает, должны ли линии и флаги указывать в обратном направлении. Нормальное поведение — линии и флаги барбов указывают вправо (происходит от того, что в северном полушарии эти элементы стрелок указывают к низкому давлению).
Одно значение применяется ко всем барбам. Отдельные барбы можно перевернуть, передав массив bool, совпадающий по размеру с U и V .
Возвращаемое значение:
barbs Barbs
Другие параметры:
data индексируемый объект, необязательно
Если задано, все параметры также принимают строку s, которая интерпретируется как data[s] (если это не вызывает исключения).
**kwargs
Штриховку можно дополнительно настроить, используя ключевые аргументы PolyCollection :
Свойство
Описание
agg_filter
функция фильтра, которая принимает (m, n, 3) массив float и значение dpi, и возвращает (m, n, 3) массив и два смещения от левого нижнего угла изображения
alpha
массивоподобное или скалярное значение или None
animated
bool
antialiased или aa или antialiaseds
bool или список bool
array
массивоподобное значение или None
capstyle
CapStyle или {'butt', 'projecting', 'round'}
clim
(vmin: float, vmax: float)
clip_box
Bbox
clip_on
bool
clip_path
Объект Patch или (Path, Transform) или None
cmap
Colormap или str или None
color
цвет или список кортежей RGBA
edgecolor или ec или edgecolors
цвет или список цветов или 'face'
facecolor или facecolors или fc
цвет или список цветов
figure
Figure
gid
строка
hatch
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout
bool
joinstyle
JoinStyle или {'miter', 'round', 'bevel'}
label
объект
linestyle или dashes или linestyles или ls
строка или кортеж или список
linewidth или linewidths или lw
число с плавающей точкой или список чисел с плавающей точкой
mouseover
bool
norm
Normalize или строка или None
offset_transform или transOffset
неизвестно
offsets
(N, 2) или (2,) массивоподобное значение
path_effects
AbstractPathEffect
paths
список массивоподобных значений
picker
None или bool или число с плавающей точкой или вызываемый объект
pickradius
неизвестно
rasterized
bool
sizes
numpy.ndarray или None
sketch_params
(scale: float, length: float, randomness: float)
snap
bool или None
transform
Transform
url
строка
urls
список строк или None
verts
список массивоподобных значений
verts_and_codes
неизвестно
visible
bool
zorder
число с плавающей точкой
Примеры использования matplotlib.pyplot.barbs
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAADgCAMAAABFJU/CAAADAFBMVEVHcEyAgIDk5OSIiIiLi4vGxsalpaX////8/P3m5ubr6+vy8vKNjY0AAADb29uUlJT///6Dg4P9/v6rq6vv7+/7+/z29vb3+PhwcHBfX19kZGSCgoLd3d1zc3POzs6Pj49CQkJra2u2traFhYXe3t7Q0NDT09Px8fFubm58fHw2NjawsLDl5eXW1tb4+vmZmZk+Pj5xz085OTmMjIyKioq7u7taWlr09PSysbKSkpL+//ucnJx5eXpWVla9vb1GRkafn5/n5+f6+/vExMSWlpaoqKjx+u/o6OjKysqGhoZ+fn6urq65ubn6/vu0tLTAwMDDw8PY19ikpKR3d3cyMjL1/PRRUVHi4eFOTk7a8tBDAVJ2dnb//vSqqqr95yHt7e3f39/JycmhoaGHq77g4OCO2abR78Xo9+OW3Kzq6uqh34uAprrs9fXp6eni4uL//N+y5Z/97Vaq4pYHBwew5cC556gkJCRnZ2fC6rPZ2dmQ2XVRqaV9017o8vPV6unMzMxCv2m70Nqc3oTh9dqV23ujv80vLy/+725XiqX//eloaP//+cUqKir7+/+Ew8DD69Dt+er+9aPL7b4tLS3FxcX3/PjA3t7+8XvO5+Y7nTtms7C95cYfHx9JSUmH1mr+7mFbrqpHpKAODg550pQUFBSjo6P/97YaGhqz2tj960r/+tTh7++m06bK7dWPyMWo1NJ0nLP96jrn9uo/P/86npmY3H9Nw3JhsGF0urfc7txMTEzm5v+j4LbS8Nvb8+Lf6e5mlKyTk/+czsxrzYqSssSIxIj+9JZLS0unws/A1d7+8486SXt3uHT+8olWVv+Vy5ZIEl3V4ulFJ2n09P8kkCPO585YqVbjCADI5OO+vv80NP/V1f9vb/9Yxnq02rWux9Svr/+EhP/a2v97e/+Jif+2tv+bdqOqnLtCZIwlk44LC//MzP87O5RpMXT07PKbucn+8oaHMABpYBbExP+Vh6o/Xz93UA5mdChhfzE2ehY7bBFoVtd0LwDfAIAAgORHcEwupVGrAAABAHRSTlMA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AJ5UbsQAAIABJREFUeNrsm01P4lwUx6cyenkrxqJCUaCgIFSBpspboAIRIgIRUAImZIIYNy6GDQmEFTtW7nQJG6PxO/AF5ms9LSAWvDyDDh18fHoWYu+9pfDznHvO+bd++zY0INq09g1qIhcRoAhQBCgCFE0EKAIUAYoARRMBigBFgCJA0USAIkARoAhQNBGgCFAEKAIUTQQoAhQBigBF+1OAiojs75gcg1wduxH0miWFQlE6lkVWSzKFUACDW9//iinxY8jVr3GlkNcknp+fiQO/8ZY62RAK4IbmL0WJstJ7OTam2J9mY9jJHTWigl7Th6Jo9eL+4FblPREK4Arr29iEOad0wviEEzDnhDfCXgGWnuzsT70/2ztSLQuE7meh90FDKGdkAcglQgKs5CvQubgNfk7qYII3q+HbrM7yChA0uGBK+fULrDce2JQCAcy0T27Yl0OOH7MDBAYoDd7uweZKpAF6TgyHDqtaEf7hj7oKOHALUOSRNT7Ard7L8i7rmBqrXyCA0jxaM64CkGf5eYHQAAGwt6AEXR7oOT900GHTCj9qfRYlrbe6KH1+hb8HlpDu4tl1Mqq9FDSEQbmKoreBdUM1z/ETHCCgbxdgwUc3pweoysl526RmJad0nJAn5fbGSBLxWqyVY82CodR3R8EAApyLXlpH9j+U0ACPOsFaZWoXhAMcccAmHbOYyECj/qgczcKjJiBA6wNHkCoAoQDu+OVDgJrO6QZFFt4u8kJdEApwxAFji2VPSB2vd7oSMCeAwIQO9j9hAGLhboN73eIAep+s9GX7DvIVAx5sCoDHgaYV51da+1WtapG5MNMImBvAxgPKDPuP2QM0J0/YUszgNvX/Rnj4IGiCRHH20fAbgPLMDVAoO612ie/et+ijXRarfgfzAwjOh/4nBEDknDICsOir9y4Sp7bJza6OHO8YGyEcf1tNq/kA46ELohtNeUY/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