web-dev-qa-db-fra.com

Comment afficher les axes x et y dans un graphe MATLAB?

Je dessine un graphique en utilisant la fonction plot () , mais par défaut, il ne montre pas les axes.

Comment permet-on d'afficher les axes en x = 0 et y = 0 sur le graphique?

En fait, mon graphique est quelque chose comme:alt text

Et je veux une ligne horizontale correspondant à y = 0 . Comment puis-je l'obtenir?

14
Lazer

Par défaut, tracer fait afficher les axes, sauf si vous avez modifié certains paramètres. Essayez ce qui suit

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

La solution du pauvre est simplement de représenter graphiquement les lignes x = 0 et y = 0. Vous pouvez ajuster l'épaisseur et la couleur des lignes pour les différencier du graphique.

5
bta

Cela devrait fonctionner dans Matlab:

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

Les options sont: bas, haut, origine.

Pour Y.axis:

YAxisLocation; left, right, Origin
5
dysan

Si vous voulez que les axes ressemblent davantage à des réticules, plutôt que le long des bords, essayez axescenter depuis Matlab FEX.

EDIT: je viens de remarquer que cela a déjà été souligné dans le lien ci-dessus par Jitse Nielsen.

4
Matt Mizumi

Peut-être que grid on suffira. 

3
Mikhail

Je sais que cela arrive un peu tard, mais un de mes collègues a découvert quelque chose:

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 votre ordre d'appels de fonction est légèrement en retrait. Essayez ceci à la place:

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

Inspiré par la réponse de @ Luisa, j'ai créé une fonction, axes0

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

 Example output for axes0

Vous pouvez suivre le lien ci-dessus pour télécharger la fonction et obtenir plus de détails sur son utilisation.

0
Delyle