compass
从原点发射出的箭头
说明
c = compass(___)
返回由 Line
对象组成的向量。此语法对于控制箭头的外观很有用。
示例
使用笛卡尔坐标创建罗盘图
使用极坐标创建罗盘图
通过先将极坐标转换为笛卡尔坐标的方法来使用极坐标创建罗盘图。
要完成此操作,请使用极坐标指定数据。使用 pol2cart
函数将它们转换为笛卡尔坐标。然后,创建绘图。
th = linspace(pi/4,2*pi,10); r = linspace(5,20,10); [u,v] = pol2cart(th,r); compass(u,v)
请注意,theta 轴和 r 轴刻度标签对应于极坐标。
使用复数值创建罗盘图
以等间距对正弦波进行采样。然后,计算正弦波的 10 点离散傅里叶变换。结果是一个由复数值组成的向量。
t = linspace(0,8*pi,100); y = sin(2*t) + 2*sin(t+pi/2); f = fft(y,10);
使用罗盘图显示复数值。实部确定每个箭头的 x 坐标,虚部确定 y 坐标。
compass(f)
指定整个绘图的外观
指定一个箭头的外观
通过为单个箭头赋予变量,然后设置其属性来指定该箭头的线宽和颜色。为此,首先创建一个罗盘图并返回一个 Line
对象数组。
u = [3 5 -4 -3 5]; v = [5 1 3 -2 -6]; c = compass(u,v);
为第一个箭头赋予一个变量。第一个箭头对应于 u
和 v
的第一组元素。然后,更改线宽和颜色。
c1 = c(1);
c1.LineWidth = 2;
c1.Color = 'r';
旋转罗盘图
使用 view
函数旋转罗盘图,使 0 度指向上方。
要完成此操作,使用极坐标创建一个罗盘图。使用 pol2cart
函数将极坐标转换为笛卡尔坐标,然后绘制转换后的坐标。
th = linspace(0,3*pi/2,10); r = linspace(5,20,10); [u,v] = pol2cart(th,r); compass(u,v)
请注意,0 度指向右侧。通过调用 view
并将第一个参量指定为 -90
,将 theta 轴逆时针旋转 90 度。通过将第二个参量指定为 90
来保持二维视图。
view(-90,90)
请注意,0 度现在指向上方。
指定罗盘图的坐标区
从 R2019b 开始,您可以使用 tiledlayout
和 nexttile
函数显示分块图。调用 tiledlayout
函数以创建 1×2 分块图布局。调用 nexttile
函数创建一个坐标区对象,并将该对象返回为 ax1
。通过将 ax1
传递给 compass
函数来创建左图。通过将坐标区传递给 title
函数为绘图添加标题。重复上述过程以创建右图。
u = [7 5 -2 -5 8]; tiledlayout(1,2) % Left plot ax1 = nexttile; v1 = [3 7 5 -4 -6]; compass(ax1,u,v1) title(ax1,'Left Plot') % Right plot ax2 = nexttile; v2 = [-3 -4 -5 6 6]; compass(ax2,u,v2) title(ax2,'Right Plot')
输入参数
Z
— 复数值
标量 | 向量 | 矩阵
复数值,指定为标量、向量或矩阵。Z
的实部表示箭头的 x 坐标,虚部表示 y 坐标。
LineSpec
— 线型、标记和颜色
字符串标量 | 字符向量
线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: "--or"
是带有圆形标记的红色虚线。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
颜色名称 | 短名称 | RGB 三元组 | 外观 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] | |
ax
— 目标坐标区
Axes
对象
目标坐标区,指定为 Axes
对象。
扩展功能
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)