plot()関数を使用してグラフを描画していますが、デフォルトでは軸が表示されません。
グラフにx=0とy=0の軸を表示するにはどうすればよいですか?
実際、私のグラフは次のようなものです。
そして、 y=0に対応する水平線が必要です。どうすれば入手できますか?
これはMatlabで動作するはずです:
set(gca, 'XAxisLocation', 'origin')
オプションは、bottom、top、origin です。
Y 軸の場合:
YAxisLocation; left, right, origin
デフォルトでは、一部の設定を変更しない限り、plotは軸を表示します。以下を試してください
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
貧乏人の解決策は、線 x=0 と y=0 を単純にグラフ化することです。線の太さや色を調整して、グラフと区別することができます。
軸を端に沿って表示するのではなく、十字線のように表示する場合は、Matlab FEX のaxescenterを試してください。
編集: これは、Jitse Nielsen によって上記のリンクで既に指摘されていることに気付きました。
I know this is coming a bit late, but a colleague of mine figured something out:
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
たぶんgrid on
十分でしょう。
@Martijn関数呼び出しの順序が少しずれています。代わりにこれを試してください:
x=-3:0.1:3;
y = x.^3;
plot(x,y), hold on
plot([-3 3], [0 0], 'k:')
hold off
@Luisaの回答に触発されて、関数axes0を作成しました
x = linspace(-2,2,101);
plot(x,2*x.^3-3*x+1);
axes0
上記のリンクをたどって関数をダウンロードし、使用方法の詳細を取得できます