質問

MATLABで極座標プロット(POLAR(THETA、RHO))を使用しています。

半径軸の範囲を1.5に修正する簡単な方法はありますか?

デカルト軸用のxlim、ylimコマンドに似たものを探しています。ドキュメントにはまだ何も見つかりませんでした。

役に立ちましたか?

解決

次のようにできました。

MATLAB極座標プロット(利用可能な[ハンドルグラフィックス]オプションを見る場合)には、xlimやylimなどはありません。ただし、最初にプロットしたものが範囲を設定することに気づいたため、次のように[-1 1]プロットに半径範囲[-.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');

他の誰かがこれに遭遇した場合、 ソリューションがあります:

Scottie T および gnovice が指摘したように、Matlabは基本的に極関数を標準のインターフェースとして使用しますプロットが、極秘に見えるように舞台裏で多くの書式設定を行います。極座標プロットのXLimおよびYLimプロパティの値を見ると、これらが文字通りデカルト座標のプロットのxおよびyの制限であることがわかります。そのため、半径の制限を設定するには、xlimとylim、または軸を使用し、設定する値を賢くします。

rlim = 10;
axis([-1 1 -1 1]*rlim);

...これですべてです。 Happy Matlabbing:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top