Majed86
Majed86

Reputation: 410

Reverse Y axis in ggplot and facet

I have a data set contains a depth data from 0 - 140 and other columns include some percentages. I plot the data using ggplot and facet and it was great except the zero on the y axis (depth) at bottom of the axis. I want this zero to be at the top of y axis.

this is the data for example:

log <- structure(list(
  Depth = c(5,10,15,20,25,30,35,40,45,50,55, 60,65, 70,75,80, 85,90, 95,100,105,110,
            115,120,125,130,135,140), 
  mic1 =  c(16.93548387,13.55932203, 6.034482759,33.6, 26.8907563, 51.47928994, 
            24.29906542,16.84210526, 26.14379085, 19.72318339,21.77419355,
            53.33333333,50.56179775,19.07514451,27.63819095, 25.6, 23.56687898, 
            19.04761905, 43.33333333,36.30952381,62.45059289,20.43010753,
            32.23140496,16.4021164,47.48201439,48.73646209,17.44186047, 
            39.04109589),  
  mic2 = c(16.93548387, 13.55932203, 6.034482759,33.6, 26.8907563, 51.47928994, 
           24.29906542,16.84210526, 26.14379085, 19.72318339,21.77419355,
           53.33333333,50.56179775,19.07514451,27.63819095, 25.6, 23.56687898, 
           19.04761905, 43.33333333,36.30952381,62.45059289,20.43010753,
           32.23140496,16.4021164,47.48201439,48.73646209,17.44186047, 
           39.04109589)), 
  .Names = c("Depth", "f1", "f2"), row.names = c(NA, 20L), class = "data.frame")

I am using this code to plot them in bars:

logMelt1 <- melt(log, id.vars="Depth")
logm <- ggplot(logMelt1, aes(x=Depth, y=value)) + geom_bar(stat = 'identity') + 
  coord_flip()  + facet_grid( ~ variable, scale ='free_x')
logm

As you can see the Depth axis start from the bottom: enter image description here

I want to know how I can revers the depth axis so the 0 will start at the top?

Upvotes: 3

Views: 5874

Answers (1)

joran
joran

Reputation: 173577

Maybe try:

logm <- ggplot(logMelt1, aes(x=Depth, y=value)) + 
  geom_bar(stat = 'identity') + 
  scale_x_reverse() +
  coord_flip()  + 
  facet_grid( ~ variable, scale ='free_x')

to reverse the axis?

Upvotes: 6

Related Questions