2

2DMATLABプロットを作成しています。x軸の制限を設定し、y軸を自動調整させています(制限を[-inf inf]に設定することにより)。プロットを作成した後、y軸が自動調整されていることを確認する必要があります(プロットの下に配置するヒートマップを作成するため)。

残念ながら、ylim(および同様の関数)は[-inf inf]のみを生成し、軸が調整されたものは何も生成しません。

この問題を再現するいくつかのコード(私の実際のコードよりもはるかに簡単です)は次のとおりです。

function createplot(xbounds)
x = xbounds(1):0.5:xbounds(2);
y = x.^2;
plot(x,y);
axis([xbounds,-inf,inf]);

createplot([0,10])

これにより、y限界=[0,100]の放物線プロットが生成されます。ただし、ylim = [-inf、inf]。

どんな助けでもいただければ幸いです!

/ウィルバー

4

2 に答える 2

2

@Shaiが提案したように、ylimitを設定したり、axisを使用してx軸の境界を設定axisしたりすることなく、ylimitに関する情報を提供できます。[-inf,inf]

xbounds=[1 10]
x = xbounds(1):0.5:xbounds(2);
y = x.^2;
plot(x,y);
xlim([xbounds(1) xbounds(2)]);
v=axis 

v =
     1    10     0   100
于 2013-02-14T07:55:40.227 に答える
2

@natanの答えを見ると、あなたの問題の解決策は

[-inf inf]軸制限の自動調整には使用しないでください。

xlimMatlabで軸の制限の一部を自動調整し、他の制限を手動で設定する場合は、ylimまたはを使用するか、zlim設定する特定の軸に対して他のすべてを変更せずに、Matlabが自動的に設定できるようにする必要があります。このようにして、Matlabがそれらの軸に割り当てる値をオーバーライドせず、、、、またはを使用し
てそれらを読み取ることができます。axisxlimylimzlim

修正されたコードについては、@natanの回答を参照してください。

于 2013-02-14T08:08:35.593 に答える