Set R plots x axis to show at y=0

RPlot

R Problem Overview


Usually when I plot some R line plot and set ylim=c(0,some_value), there is small space between the x axis and y=0.

I would like the y axis to show exactly at y=0 so points (x,0) will be plotted on the y axis (and not above).

R Solutions


Solution 1 - R

You probably want the graphical parameters xaxs and yaxs with style "i":

plot(1:10, rnorm(10), ylim=c(0,10), yaxs="i")

See ?par:

> xaxs: The style of axis interval > calculation to be used for the x-axis. > Possible values are "r", "i", "e", > "s", "d". The styles are generally > controlled by the range of data or > xlim, if given. Style "r" (regular) > first extends the data range by 4 > percent at each end and then finds an > axis with pretty labels that fits > within the extended range. Style "i" > (internal) just finds an axis with > pretty labels that fits within the > original data range. Style "s" > (standard) finds an axis with pretty > labels within which the original data > range fits. Style "e" (extended) is > like style "s", except that it is also > ensures that there is room for > plotting symbols within the bounding > box. Style "d" (direct) specifies that > the current axis should be used on > subsequent plots. (Only "r" and "i" > styles are currently implemented) > > yaxs: The style of axis interval calculation to be used for the y-axis. > See xaxs above.

Solution 2 - R

Another option is to disable the axis plotting in plot using axes=F and then put the axes in separately using the axis command, with the pos option controlling the axis spacing.

plot(1:10, runif(10), ylim=c(0,1), xlim=c(0,10),axes=F)
     axis(1, pos=0)
     axis(2, pos=0)   

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDavid BView Question on Stackoverflow
Solution 1 - RrcsView Answer on Stackoverflow
Solution 2 - RWetlabStudentView Answer on Stackoverflow