如何缩放极坐标图的幅度?
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])')
我有一个数据矩阵。我在 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])')