Vertical grid line for x=0
Afficher commentaires plus anciens
I am using horizontal gridlines for a plot.
ax = gca;
ax.XGrid = 'off';
ax.YGrid = 'on';
How can I add only one vertical line through x=0?
Réponse acceptée
Plus de réponses (2)
Image Analyst
le 1 Jan 2017
The best answer is to use YAxisLocation:
theta = linspace(-pi, pi, 800);
plot(theta, sin(theta), 'b-') % Plot something.
% Make axes go through origin instead of left and bottom sides of axes box.
ax = gca;
ax.XAxisLocation = 'origin'
ax.YAxisLocation = 'origin'

4 commentaires
Image Analyst
le 2 Jan 2017
I don't understand. Normally the Y axis is at the left hand side of the axes box. If you want it to remain there, then just don't set YAxisLocation. If you want to move it so that it crosses at the x=0 line, then set YAxisLocation = 'origin'.
The only way to not move the Y axis and have it still be on the left hand side, and to have that left hand side also be the x=0 location is to set xlim to be 0:
% Get current axes limits
xl = xlim();
% Set xl(1) = 0
xl(1) = 0;
% Update the x axes limits.
xlim(xl);
Is that what you want?
Jan w
le 2 Jan 2017
Image Analyst
le 2 Jan 2017
You're welcome. Maybe you could "Vote" for the answer (under my logo).
the cyclist
le 1 Jan 2017
Modifié(e) : the cyclist
le 1 Jan 2017
line([0 0],[0 1],'Color','Black')
2 commentaires
Brian Russell
le 16 Déc 2020
You simply need to write yline(0) or xline(0) for vertical and horizontal lines.
Star Strider
le 17 Déc 2020
Note that xline and yline were introduced in R2018b, 1½ years after this was posted.
Catégories
En savoir plus sur Graphics Object Programming dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!