Drawing X and Y axis on 2D plot

Hi everyone,
I have been searching for an easy way to draw the x and y axis on a plot but cannot seem to do it. For example, if I have a plot that has range [-2 10] for x and [-200 400] for y, I would like to be able to draw a line along x = 0 and y = 0. I have looked at certain functions such as axescenter but this draws the axes in the exact center so it does not work for me. The style is great but I can't get it along the axes. Anyone have any ideas?

 Risposta accettata

xL = xlim;
yL = ylim;
line([0 0], yL); %x-axis
line(xL, [0 0]); %y-axis

10 Commenti

That works great! Any chance I could get the line color to be black? And what if I want to make the line bolder?
Kevin Holst
Kevin Holst il 12 Giu 2012
see the documentation under "line"
"Examples
This example uses the line function to add a shadow to plotted data. First, plot some data and save the line's handle:
t = 0:pi/20:2*pi;
hline1 = plot(t,sin(t),'k');
Next, add a shadow by offsetting the x-coordinates. Make the shadow line light gray and wider than the default LineWidth:
hline2 = line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);"
xL = xlim;
yL = ylim;
line(xL, [0 0],'color','k','linewidth',10) %x-axis
line([0 0], yL,'color','k','linewidth',10) %y-axis
And for more info
>>doc line
Great! Thanks a lot for the help guys!
I believe the comments about %x-axis and %y-axis are reversed and should be:
xL = xlim;
yL = ylim;
line([0 0], yL); %y-axis
line(xL, [0 0]); %x-axis
great. Thank you
Emon Baroi
Emon Baroi il 26 Set 2019
thank you very much ...it can help me a lot
Very helpful
Zhao Lu
Zhao Lu il 10 Ago 2022
Thanks so much
I think you interchanged the x-axis and y-axis ...

Accedi per commentare.

Più risposte (3)

Brian Russell
Brian Russell il 30 Apr 2021

25 voti

Why does everyone give such complicated answers to this question? The answer is xline(0) and yline(0).

4 Commenti

Elie Marouani
Elie Marouani il 18 Mag 2021
Modificato: Elie Marouani il 18 Mag 2021
This is exactly what i needed here, thank you
This answer should be at the top. Thanks btw.
Thanks, Sajib, but I don't know how to move it to the top. I think an administrator has to do that. I think that in an earlier version of MATLAB, the answer at the top was the correct one, but the answer I gave must be a new feature.
"Why does everyone give such complicated answers to this question?"
Probably because these functions only appeared in R2018b. Still, useful to know they're there now.

Accedi per commentare.

Steven Lord
Steven Lord il 1 Set 2016

5 voti

As of release R2015b you can set the axes XAxisLocation and YAxisLocation properties to 'origin' to get the axes lines to cross at the origin.
Kajeen Hassan
Kajeen Hassan il 28 Gen 2020

0 voti

A parametric equation to plot the function x= 1.5 sin(5t), y= 1.5 cos(3t) , plot the function for 0<=t<=2* pi. Format the plot such that the both axes will range from -2 to 2.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by