matlabで1つの図に複数の極座標プロットを描く方法は?
polar(polar_mat,dir_mat)
hold all;
polar(polar_mat,dir_mat_b,'r')
上記のコードは、2 番目のプロットのみを描画します。
matlabで1つの図に複数の極座標プロットを描く方法は?
polar(polar_mat,dir_mat)
hold all;
polar(polar_mat,dir_mat_b,'r')
上記のコードは、2 番目のプロットのみを描画します。
1 つの図に複数の極座標グラフをプロットする方法を次に示します。私subplot
は別の例を説明していました。hold on/all
極座標プロットでは期待どおりに機能しないことがわかります(右上のサブプロットを参照)。あなたの問題はそれに関連している可能性があります。1 つの回避策は、最初に最大の極座標グラフをプロットしてから、最小の極座標グラフをプロットすることです。
(サブプロット 1) ==> 2 番目の線がプロットされたときに軸の自動サイズ変更を使用して、1 つの軸に2 つの線 ( plot
) を連続してプロットするhold all
(サブプロット 2) 2 つ連続してプロットpolar
すると、2 番目のグラフがプロットされるときに自動サイズ変更がトリガーされません。上の青い線だけが見えます0
。
(サブプロット 3) 2 番目のpolar
グラフのみ (青) をプロットします。これは私たちが見るべきものです。
(サブプロット 4) 2 つのpolar
グラフをまとめると、2 番目のグラフ (青) が最初にプロットされます。軸のプロパティは青いプロット (最大) で設定され、赤いプロット (最小) がその上に描画されます。
あなたの質問でまだ理解できないのは、「2番目のプロットのみを描画する」ということです。ここで説明されているシナリオによれば、「最初のもののみを描画し、2番目のものを部分的に描画する」必要があります。最後に、コメントで読んだように、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);