Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reverse and change limit of axis

Tags:

r

ggplot2

contour

I am trying to create a contour plot. I would like to have depth on the Y-axis and time on the X-axis. Right now this is the code that I am using:

par <- ggplot(up_PAR, aes(Time.hour.of.the.day., Depth, z = PAR)) parplot <- par +             stat_contour(bins=20, aes(colour=..level..))+             scale_colour_gradient(limits=c(0.000842, 0.00000000195),low="black", high="black") +            scale_y_reverse()+            theme_bw()+            theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+            xlab("Hour of the Day")+            ylab("Depth(m)")+            ggtitle("Downwelling PAR (photons/m2/s), January 22nd") direct.label(parplot) 

However, I would like to extend the Depth axis to span from 0-30m. My dataset goes to 175m, but I am only interested in showing the top of the water column.

I know that I can use scale_y_continuous(limit=c(0,30)) but since I've already reversed my axis, and would like to keep it that way, I am unable to also set the limits of the axis.

like image 307
HAC Avatar asked Jul 30 '14 19:07

HAC


People also ask

How do I reverse the y axis in R?

To create a plot with reversed Y-axis we need to use the rev function for the Y-axis labels with ylim but we would also need to define the range for the y-axis values, otherwise, R will throw an error.

How can I change my axis limit?

Change Axis Limits Create a line plot. Specify the axis limits using the xlim and ylim functions. For 3-D plots, use the zlim function. Pass the functions a two-element vector of the form [min max] .


1 Answers

As @aosmith already pointed out, just use the lim inside the scale_y_reverse

library(ggplot2) set.seed(15)  ggplot(data.frame(x=sort(runif(20, 0, 20)), y=cumsum(runif(20,0 ,2))), aes(x,y)) +     geom_point() +      scale_y_reverse( lim=c(10,0)) 

enter image description here

like image 95
MrFlick Avatar answered Sep 24 '22 10:09

MrFlick