質問
Matlabで物事をプロットすると、最近プロットされたデータ系列は、そこにあるものの上に配置されます。例:
figure; hold on
plot(sin(linspace(0,pi)),'linewidth',4,'color',[0 0 1])
plot(cos(linspace(0,pi)),'linewidth',4,'color',[1 0 0])
ここでは、青い線の上に赤い線が表示されています(交差する場所)。 「深さ」を設定する方法はありますか線が引かれているので、既にそこにあるものを下プロットできますか?
解決
uistack コマンドを使用します。例:
h1 = plot(1:10, 'b');
hold on;
h2 = plot(1:10, 'r');
は、2本の線をプロットし、赤の線が青の線の上にプロットされます。その場合:
uistack(h1);
青い線が前面に表示されます。
他のヒント
これは、現在の軸の子ベクトルの順序を設定することでも実現できます。次の場合:
figure; hold on
h1 = plot(sin(linspace(0,pi)),'linewidth',4,'color',[0 0 1]);
h2 = plot(cos(linspace(0,pi)),'linewidth',4,'color',[1 0 0]);
h = get(gca, 'Children');
hはh1とh2を含むベクトルであることがわかります。グラフィカルなスタック順序は、hのハンドルの順序で表されます。この例では、スタックの順序を逆にすることができます:
h = flipud(h);
set(gca, 'Children', h);
所属していません StackOverflow