web-dev-qa-db-ja.com

X軸線を図に追加する方法は? (MATLAB)

0のx軸線をMatlabの図に追加して、図をjpgに保存するときにデータが正か負かを確認できるようにします。これを行う最良の方法は何ですか?私はあなたがline()を使用できることを知っていますが、xとyの範囲を指定する必要があるため、面倒に思われるだけです。もっと簡単な方法はありますか?

16
O_O

もっと便利な方法が組み込まれているとは思いません。私は、FileExchangeのhline()vline()を使用しています。

http://www.mathworks.com/matlabcentral/fileexchange/1039

6
John Colby

文書化されていない関数graph2d.constantlineがあります:

plot(-2:5, (-2:5).^2-1)

%# vertical line
hx = graph2d.constantline(0, 'LineStyle',':', 'Color',[.7 .7 .7]);
changedependvar(hx,'x');

%# horizontal line
hy = graph2d.constantline(0, 'Color',[.7 .7 .7]);
changedependvar(hy,'y');

screenshot

いいのは、それが内部的にAxesの制限のリスナーを実装することです(ハンドルはパン、ズームなどのように変更されます)。したがって、線は無限に伸びているように見えます。

32
Amro

GNU Rのようなvlineおよびhlineコマンドは、Rは素晴らしいでしょうが、より短い解決策を見つけることができませんでした

plot(1:10,sin(1:10));
line(xlim,[0 0],'Color','r') 
6
Jonas Stein

このx範囲は、図が作成された直後に取得できます。それは次のようなものになります:

x=-2:5;
y=x.^2-1;

figure()
plot(x,y);

xlim = get(gca,'xlim');  %Get x range 
hold on
plot([xlim(1) xlim(2)],[0 0],'k')

enter image description here

図で手動でズームアウトした場合、新しいxの範囲全体にまたがるように線を再描画する必要があることに注意してください。

6
Vidar

MATLAB R2018b以降、この目的のために yline があります。

 yline(0)

y==0に水平線を描画します。

0
Cris Luengo
  1. plot()コマンドまたはstem()を使用してデータを描画します。フィギュアウィンドウが開きます。
  2. 次に、Figureウィンドウで、[挿入]コマンドをクリックします。
    メニューバー、ドロップダウンメニューが表示されます。
  3. このメニューから、[line]コマンドをクリックします。
    カーソルがプラス記号に変わります。
  4. これで、水平または水平のどこにでも線を引くことができます
    垂直または斜め。
  5. 線のプロパティを変更するには、
    行、メニューが表示され、そこから希望を選択できます
    プロパティ。
  6. 行に目盛りを付けたい場合は、テキスト追加オプションを使用して、テキストを好きな場所に配置できます。
  7. Figureのコードが必要な場合は、[ファイル]メニューをクリックし、[テキスト生成]オプションをクリックしてください。新しいテキストエディター
    ウィンドウが開きます。このコードを保存して、後で使用することができます。幸運を。
0
Mota Mota