如何在matlab中的一个图中绘制多个极坐标图?
polar(polar_mat,dir_mat)
hold all;
polar(polar_mat,dir_mat_b,'r')
上面的代码只绘制了第二个图。
如何在matlab中的一个图中绘制多个极坐标图?
polar(polar_mat,dir_mat)
hold all;
polar(polar_mat,dir_mat_b,'r')
上面的代码只绘制了第二个图。
这是一种在单个图中绘制多个极坐标图的方法。我曾经subplot
举例说明不同的例子。我们可以看到,对于极坐标图(见子图,右上角) ,它hold on/all
并没有像预期的那样工作。您的问题可能与此有关。一种解决方法是先绘制最大的极坐标图,然后再绘制最小的极坐标图。
(子图 1)plot
在一个轴上连续绘制两条线( ),hold all
当绘制第二条线时,==> 自动调整轴的大小
(子图 2)在 绘制第二个图时,连续绘制两个polar
不会触发自动调整大小。我们只看到了一条蓝线0
。
(子图 3)它单独绘制第二个polar
图(蓝色)。这是我们应该看到的。
(子图 4)将两张polar
图放在一起,首先绘制第二张图(蓝色)。轴的属性用蓝色图(最大)设置,红色图(最小)在其上绘制。
我仍然不明白您的问题是它“仅绘制第二个情节”。根据这里描述的场景,它应该是“只绘制第一个,部分绘制第二个”。最后,正如评论中所读到的,hold on/all
包括我在内的许多用户都可以正常工作 - 因此可能是您的 matlab 安装中的错误。
这是地块
和代码
figure('Color','w','Position',[10 10 600 600]);
subplot(2,2,1);
plot((1:10)+1000,'r');
hold all;
plot((1:100).^2,'b');
legend({'first axes';'second axes'});
title('axes resized with hold all','FontSize',14);
subplot(2,2,2);
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'r')
hold all
polar(t,t.^0.1,'b')
title('axes NOT resized with hold all','FontSize',14);
subplot(2,2,3);
polar(t,t.^0.1,'b')
title('what blue should be','FontSize',14);
subplot(2,2,4);
h2 = polar(t,t.^0.1,'b')
hold all;
h1 = polar(t,sin(2*t).*cos(2*t),'r')
title('plot bigger first','FontSize',14);