web-dev-qa-db-fra.com

Comment ajouter une ligne d'axe des x à une figure? (matlab)

Je souhaite ajouter une ligne d'axe des abscisses à 0 à une figure matlab afin de pouvoir comparer mes données pour voir si elles sont positives ou négatives lors de la sauvegarde des figures au format jpg. Quelle est la meilleure façon de procéder? Je sais que vous pouvez utiliser line (), mais cela semble simplement encombrant car vous devez spécifier les plages x et y. Y a-t-il un moyen plus facile? Merci!

16
O_O

Je ne crois pas qu'il existe un moyen intégré qui soit plus pratique. J'utilise hline() et vline() à partir de FileExchange, qui fonctionnent comme un charme:

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

6
John Colby

Il existe une fonction non documentée 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

La bonne chose est qu’il implémente en interne un écouteur pour les limites d’axes (les poignées changent comme le panoramique, le zoom, etc.). Ainsi, les lignes sembleraient s'étendre à l'infini.

31
Amro

Une commande vline et hline comme dans GNU R serait formidable, mais je n'ai pas pu trouver de solution plus courte que

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

Vous pouvez obtenir cette plage x directement après la création de la figure. C'est un peu comme ça:

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

Notez que si vous effectuez un zoom arrière manuel sur la figure, vous devrez peut-être redessiner la ligne pour parcourir la nouvelle plage x.

6
Vidar
  1. Dessinez vos données par la commande plot() ou stem(). Une fenêtre de figure s'ouvrira.
  2. Ensuite, dans la fenêtre de la figure, cliquez sur la commande [Insérer] de la fenêtre
    barre de menu, un menu déroulant apparaîtra.
  3. Dans ce menu, cliquez sur la commande [ligne], maintenant la forme du
    le curseur se changera en signe plus.
  4. Maintenant, vous pouvez dessiner une ligne où vous voulez, que ce soit horizontale ou
    vertical ou incliné. 
  5. Vous pouvez modifier les propriétés de la ligne en faisant un clic droit sur la
    ligne, un menu apparaîtra à partir duquel vous pouvez choisir vos désirs
    Propriétés.
  6. Si vous voulez avoir des graduations sur la ligne, vous pouvez utiliser add option de texte, et placez le texte où vous voulez.
  7. Si vous souhaitez avoir un code pour votre figure, cliquez sur [fichier] menu puis cliquez sur l'option [generatecode], un nouvel éditeur de texte
    Une fenêtre s’ouvrira, vous pouvez enregistrer ce code pour une utilisation ultérieure. Bonne chance.
0
Mota Mota