如何缩放极坐标图的幅度?

How to scale amplitude of polar plot?

我有一个数据矩阵。我在 MATLAB 中使用 polarplot 命令来绘制关于 theta 的矩阵。

数据在3999.20和4001.52之间震荡 从下图中可以看出,数据震荡的数量级太小,看不出来。

如何修改我的极坐标图以查看小的振荡?

我的代码如下:

yf=[%750 data point]
theta = 0:4*pi/749:4*pi;
rho = yf
pax = polaraxes;
polarplot(theta,rho)
pax.ThetaDir = 'counterclockwise';
pax.ThetaZeroLocation='right'
pax.ThetaColor='r'
pax.ThetaTick=[0 30 60 90 120 150 180 210 240 270 300 330 ];
pax.RDir='normal';
pax.RTick=[3999.34 3999.67 4000 4000.33 4000.66 4000.99 4001.33 ]
pax.FontSize = 12;

期望的输出:

实际产量

2 轴图

也许是这样,减去数据的平均值并将振幅缩放 10 倍?

yf=[%750 data point]
amp = yf - mean(yf);
amp = amp*10; % choose whatever scaling factor works for you
theta = 0:4*pi/749:4*pi;
rho = mean(yf) + amp;

没有实际数据,很难说这会是什么样子,但一般原则应该可行。

举一个按照@beaker

的建议设置r limits的例子

以下代码使用与在第二个示例中使用 rlim 设置手动限制相同的数据。这会缩放极轴,使其仅绘制 [3999,4000] 之间的值,从而夸大振荡的规模。

theta = 0:0.01:2*pi;
rho = sin(2*theta).*cos(2*theta) + 3999 %To approximate your data

figure;
subplot(1,2,1)
polarplot(theta,rho)
title('Automatic r-limits')

subplot(1,2,2)
polarplot(theta,rho)
rlim([3999, 4000])
title('rlim([3999, 4000])')