# quiver
箭头图或速度图
函数库: TyPlot
# 语法
quiver(x,y,u,v)
quiver(u,v)
quiver(___,Fmt)
quiver(___,Key=Value)
quiver(ax,___)
q = quiver(___)
# 说明
箭头图将速度向量显示为箭头,其中分量 (u,v) 位于点 (x, y) 处。
例如,第一个向量由分量 u(1), v(1) 定义并显示在点 x(1), y(1) 处。
quiver(x,y,u,v) 在 x 和 y 中每个对应元素对组所指定的坐标处将向量绘制为箭头。矩阵 x、y、u 和 v 必须大小相同并包含对应的位置和速度分量。但是,如下节所述,x 和 y 还可以是向量。默认情况下,箭头缩放到刚好不重叠,但您可以根据需要将箭头缩放的长一些或短一些。
quiver(u,v) 在 x-y 平面的等距点处绘制 u 和 v 指定的向量。
quiver(___,Fmt) 使用任何有效的 Fmt 指定线型、标记符号和颜色。quiver 在向量原点处绘制标记。
quiver(___,Key=Value) 使用一个或多个名称-值对组参量指定箭头图属性。有关属性列表,请参阅 quiver 属性。在所有其他输入参量之后指定名称-值对组参量。名称-值对组参量应用于箭头图中的所有箭头。
quiver(ax, ___) 将图形绘制到 ax 坐标区中,而不是当前坐标区 (gca) 中。
q = quiver(___) 返回 Quiver 对象。
# 示例
绘制速度向量
使用 quiver 在 x 和 y 的每个数据点处显示箭头,这样箭头方向和长度分别由 u 和 v 中的相应值表示。
using TyBase
using TyPlot
x, y = meshgrid2(0:0.2:2, 0:0.2:2);
u = cos.(x) .* y;
v = sin.(x) .* y;
figure()
q = quiver(x, y, u, v)

显示箭头图的梯度
绘制函数
using TyBase
using TyPlot
import PyCall: @pyimport
@pyimport numpy as np
X, Y = meshgrid2(-2:0.2:2, -2:0.2:2);
Z = X .* exp.(-X .^ 2 - Y .^ 2);
DY, DX = np.gradient(Z, 0.2, 0.2);
contour(X, Y, Z)
hold("on")
quiver(X, Y, DX, DY; length=0.23)
hold("off")

# 名称-值参数
指定可选的、以逗号分隔的 Key=Value 对组参数。Key 为参数名称,Value 为对应的值。您可采用任意顺序指定多个名称-值对组参数,如 Key1=Value1,...,KeyN=ValueN 所示。
示例: quiver(X,Y,U,V; color="r", linewidth=0.8)
此处列出的图形线条属性只是一个子集。有关完整列表,请参见 quiver 属性。
linewidth - 箭头线的宽度1.0(默认)| 正值
箭头线的宽度,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
箭头线的宽度不能小于像素的宽度。如果将箭头线的宽度设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
marker - 标记符号"none"(默认)| "o" | "+" | "*" | "." | "x" | ...
标记符号,指定为下表中的标记之一。默认情况下,图形线条没有标记。通过指定标记符号沿该线条上的每个数据点添加标记。
| 值 | 说明 |
|---|---|
| "o" | 圆圈 |
| "+" | 加号 |
| "*" | 星号 |
| "." | 点 |
| "x" | 叉号 |
| "_" | 水平线条 |
| "|" | 垂直线条 |
| "square"或 "s" | 方形 |
| "diamond" 或 "d" | 菱形 |
| "^" | 上三角 |
| "v" | 下三角 |
| ">" | 右三角 |
| "<" | 左三角 |
| "pentagram" 或 "p" | 五角星(五角形) |
| "hexagram" 或 "h" | 六角星(六角形) |
| "none" | 无标记 |
showarrowhead - 箭尖显示"on"(默认)| "on"/"off" 逻辑值
箭尖显示,指定为 "on" 或 "off",或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 "on" 等效于 true,"off" 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 on/off 逻辑值。
"on" - 显示带箭尖的向量;
"off" - 显示不带箭尖的向量。
alignment - 相对于数据点的箭头对齐方式"tail"(默认)| "center" | "head"
相对于数据点的箭头对齐方式,指定为下表中的选项之一。表中的图片显示用于说明目的的数据点标记。默认情况下,不显示标记。
| 对齐值 | 描述 | 外观 |
|---|---|---|
| "tail" | 箭头尾部位于数据点上。 | ![]() |
| "center" | 箭杆中心位于数据点上。 | ![]() |
| "head" | 箭尖位于数据点上。 | ![]() |
注意
该属性不支持使用 plt_set 函数设置。


