質問

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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top