web-dev-qa-db-ja.com

MATLABグラフでx軸とy軸を表示するにはどうすればよいですか?

plot()関数を使用してグラフを描画していますが、デフォルトでは軸が表示されません。

グラフ上でx = 0とy = 0の軸を表示するにはどうすればよいですか?

実際、私のグラフは次のようなものです:alt text

y =に対応する水平線が必要です。 どうすれば入手できますか?

14
Lazer

一部の設定を変更していない限り、デフォルトでは、plot does軸を表示します。以下をお試しください

hold on; % make sure no new plot window is created on every plot command
axes(); % produce plot window with axes
plot(% whatever your plot command is);
plot([0 10], [0 0], 'k-'); % plot the horizontal line
9
Martijn

これはMatlabで動作するはずです:

set(gca, 'XAxisLocation', 'Origin')

オプションは、下、上、原点です。

Y.axisの場合:

YAxisLocation; left, right, Origin
6
dysan

貧しい人の解決策は、x = 0とy = 0の線を単純にグラフ化することです。線の太さと色を調整して、グラフと区別することができます。

5
bta

軸をエッジではなく十字線のように見せたい場合は、Matlab FEXの axescenter を試してください。

編集:これはすでにJitse Nielsenによって上記のリンクで指摘されていることに気づきました。

4
Matt Mizumi

多分 grid on 十分であろう。

3
Mikhail

私はこれが少し遅れていることを知っていますが、私の同僚は何かを理解しました:

figure, plot ((1:10),cos(Rand(1,10))-0.75,'*-')
hold on
plot ((1:10),zeros(1,10),'k+-')
text([1:10]-0.09,ones(1,10).*-0.015,[{'0' '1'  '2' '3' '4' '5' '6' '7' '8' '9'}])
set(gca,'XTick',[], 'XColor',[1 1 1])
box off
2
Luisa

@Martijn関数呼び出しの順序が少しずれています。代わりにこれを試してください:

x=-3:0.1:3;
y = x.^3;
plot(x,y), hold on
plot([-3 3], [0 0], 'k:')
hold off
2
Amro

@Luisaの回答に触発されて、関数 axes を作成しました

x = linspace(-2,2,101);
plot(x,2*x.^3-3*x+1);
axes0

Example output for axes0

上記のリンクから機能をダウンロードし、使用方法の詳細を入手できます

0
Delyle