在Matlab中突出显示罗盘图中的一个大小圆圈

时间:2013-04-21 21:59:26

标签: matlab matlab-figure

我在 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节级别,因为当风力超过这个强度时,会发生重要的事情。如果您看一下我之前拍摄的截图(这是我之前编写的代码中出现的指南针图表):

enter image description here

我想要的是突出显示4级的灰色圆圈虚线。这就是全部!

PS

请注意,我不想突出显示矢量,但我只想绘制一个与图中某个幅度相对应的圆。就是这样。

1 个答案:

答案 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')

这是我得到的输出:

enter image description here

我不确定为什么它不适合你。我想这就是你要求的。你能看出这个确切的代码是否适合你吗?如果我仍然误解,请解释一下?