MATLABで極座標プロット(POLAR(THETA、RHO))を使用しています。
根軸の範囲を1.5に固定する簡単な方法はありますか?
デカルト軸のxlim、ylimコマンドに類似したものを探しています。ドキュメントにはまだ何も見つかりませんでした。
これが私がそれをすることができた方法です。
MATLAB極座標プロット(使用可能なHandle Graphicsオプションを見ると)には、xlimやylimのようなものはありません。しかし、最初にプロットしたものが範囲を設定することに気付いたので、次のように[-11]プロットに半径範囲[-.5.5]の関数をプロットすることができました。
theta = linspace(0,2*pi,100);
r = sin(2*theta) .* cos(2*theta);
r_max = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h = polar(theta, r);
set(h_fake, 'Visible', 'Off');
それはあまり良く見えず、うまくいけばそれを行うためのより良い方法がありますが、それは機能します。
これは私のために働きました...私は半径範囲を30にしたかったので、私は最初にこれをプロットしました
polar(0,30,'-k')
hold on
次に、私が実際に興味を持っていたものをプロットしました。この最初にプロットされたポイントは、グリッドマークの後ろに隠れています。必ず含めるようにしてください
hold off
最後のプロットコマンドの後。
簡単な解決策は、偽のグラフを作成し、その色を白に設定することです。
fake=100;
polar(0,fake,'w');
hold on;
real=10;
polar(0,real,'w');
他の誰かがこれに遭遇した場合に備えて、ここにtheソリューションがあります:
As Scottie T and gnovice指摘されているように、Matlabは基本的に極関数を標準プロットのインターフェイスとして使用しますが、極に見えるように舞台裏で多くのフォーマットを行います。極プロットのXLimプロパティとYLimプロパティの値を見ると、それらがデカルト座標でのプロットの文字通りのxおよびy制限であることがわかります。したがって、半径の制限を設定するには、xlimとylim、またはaxisを使用し、設定する値について賢くします。
rlim = 10;
axis([-1 1 -1 1]*rlim);
...これですべてです。ハッピーマットラブ:)