我在 Matlab 中使用罗盘图。 我需要突出显示一个幅度级别(这是一个以罗盘图的原点为中心的圆圈),以便强调那些超过这种幅度的矢量。我怎样才能做到这一点?谢谢!
我的罗盘图非常简单,我只需按照here所示的方法,将一些极坐标转换为笛卡尔坐标。在我的情况下,我显示风力和方向(非常类似于提供我的 Mathworks 的示例):
wdir = [31.45 21.45 44.67 23.87];
knots = [7.2 4.4 5.3 6.6];
rdir = wdir * pi/180;
[x,y] = pol2cart(rdir,knots);
compass(x,y)
我需要强调 4.0节级别,因为当风力超过这个强度时,会发生重要的事情。如果您看一下我之前拍摄的截图(这是我之前编写的代码中出现的指南针图表):
我想要的是突出显示4级的灰色圆圈虚线。这就是全部!
请注意,我不想突出显示矢量,但我只想绘制一个与图中某个幅度相对应的圆。就是这样。
答案 0 :(得分:0)
根据您的意见,我找到了一台机器来测试我的代码。
以下是我使用的确切代码:
wdir = [31 24 44 23];
knots = [7 4 5 6];
rdir = wdir * pi/180;
[x,y] = pol2cart(rdir, knots);
figure
compass(x,y);
hold on;
theta = linspace(0,2*pi,100);
kLimit = 4.0;
xt = kLimit * cos(theta);
yt = kLimit * sin(theta);
plot(xt, yt, 'r')
这是我得到的输出:
我不确定为什么它不适合你。我想这就是你要求的。你能看出这个确切的代码是否适合你吗?如果我仍然误解,请解释一下?