gpt4 book ai didi

matlab - 同一图中的多个极坐标图

转载 作者:行者123 更新时间:2023-12-05 05:27:36 24 4
gpt4 key购买 nike

matlab如何在一张图中绘制多个极坐标图?

polar(polar_mat,dir_mat)      
hold all;
polar(polar_mat,dir_mat_b,'r')

上面的代码只绘制了第二个图。

最佳答案

这是一种在单个图形中绘制多个极坐标图的方法。我使用 subplot 来说明不同的示例。我们可以看到 hold on/all 对于极坐标图没有按预期工作(请参阅右上角的子图)。您的问题可能与此有关。一种解决方法是先绘制最大的极坐标图,然后再绘制最小的极坐标图。

(subplot 1) 在一个坐标轴上连续绘制两条线 (plot),hold all ==> 坐标轴自动调整大小第二行绘制

(子图 2) 连续绘制两个 polar 不会在绘制第二个图时触发自动调整大小。我们只看到蓝色在 0 上划线。

(子图 3) 它单独绘制第二个 polar 图(蓝色)。这是我们应该看到的。

(子图 4) 将两个 极坐标 图放在一起,第二个(蓝色)先绘制。轴的属性设置为蓝色图(最大),红色图(最小)绘制在其上。

在你的问题中我仍然不明白的是它“只绘制第二个图”。按照这里描述的场景,应该是“只画第一个,部分画第二个”。最后,正如评论中所读,hold on/all 对包括我在内的许多用户都适用 - 因此可能是您的 matlab 安装中的错误。

这是剧情

enter image description here

代码

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);

关于matlab - 同一图中的多个极坐标图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18581881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com