我在MATLAB中使用polar
在同一图中绘制多个图。
它工作正常,但我无法自动调整图形的限制,我最终得到这样的东西:
以下是我的代码的一部分:
alpha = 0
tmp = [];
matriz = [];
for rad =-pi:0.01:pi
matriz = [matriz; rad, ganhoComb(alpha,0.2,rad)];
end
tmp = matriz;
teta = tmp(:,1);
ro = tmp(:,2);
graf1 = polar(teta,ro);
grid
set(graf1,'color','black','linewidth',1.4)
hold on ;
title(['\fontsize{14}','Método Lax-Wendroff '])
%%
tmp =[]
matriz = []
for rad =-pi:0.01:pi
matriz = [matriz; rad, ganhoComb(alpha,0.4,rad)];
end
tmp = matriz;
teta = tmp(:,1);
ro = tmp(:,2);
graf2 = polar(teta,ro);
set(graf2,'color','green','linewidth',1.4)
答案 0 :(得分:1)
首先,由于ganhoComb
,您的代码无法验证。它是什么?
您的问题 - 是您使用hold on
修复了图表,因此所有其他图表都不会缩放它:
theta = linspace(0,2*pi,100);
r = sin(2*theta) .* cos(2*theta);
r_max = 1;
h_first = polar(theta,r_max*ones(size(theta)));
hold on;
h = polar(theta, r);
h = polar(theta, r*2);
h = polar(theta, r*3);
所以我建议两个解决方案:
创建一个大尺寸的圆圈,以确保您的所有绘图都设置为INTO。让它隐形:
set(h_first, 'Visible', 'Off');
它会起作用,但你不会真正自动缩放。
希望,这有帮助!