15

我在 MATLAB 中使用极坐标图 (POLAR(THETA,RHO))。

有没有一种简单的方法可以将径向轴的范围固定为 1.5?

我正在寻找类似于笛卡尔轴的 xlim、ylim 命令的东西。尚未在文档中找到任何内容。

4

4 回答 4

8

这对我有用......我希望半径范围达到 30,所以我首先绘制了这个

polar(0,30,'-k')
hold on

然后绘制我真正感兴趣的内容。第一个绘制点隐藏在网格标记后面。只要确保包括

hold off

在您的最终绘图命令之后。

于 2009-08-31T18:40:17.967 回答
6

这就是我能够做到的方式。

MATLAB 极坐标图(如果您查看可用的 Handle Graphics 选项)没有 xlim 或 ylim 之类的东西。但是,我意识到绘制的第一件事设置了范围,因此我能够在 [-1 1] 图上绘制半径范围为 [-.5 .5] 的函数,如下所示:

theta  = linspace(0,2*pi,100);
r      = sin(2*theta) .* cos(2*theta);
r_max  = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h      = polar(theta, r);
set(h_fake, 'Visible', 'Off');

这看起来不太好,希望有更好的方法来做到这一点,但它确实有效。

于 2008-10-22T16:06:52.207 回答
6

简单的解决方案是制作一个假图并将其颜色设置为白色。

fake=100;
polar(0,fake,'w');
hold on;

real=10;
polar(0,real,'w');
于 2012-09-12T03:04:45.820 回答
4

万一其他人遇到这种情况,这解决方案:

正如Scottie Tgnovice所指出的,Matlab 基本上使用极坐标函数作为标准绘图的接口,但在幕后进行了大量格式化以使其看起来极坐标。查看极坐标图的 XLim 和 YLim 属性的值,您会注意到它们实际上是笛卡尔坐标中绘图的 x 和 y 限制。因此,要设置半径限制,请使用 xlim 和 ylim 或轴,并对您设置的值保持智能:

rlim = 10;
axis([-1 1 -1 1]*rlim);

...这里的所有都是它的。快乐的 Matlabbing :)

于 2010-01-02T09:57:08.403 回答