在ggplot和facet中反转Y轴

时间:2016-10-20 20:36:22

标签: r ggplot2 facet-grid

我的数据集包含0到140之间的深度数据,其他列包含一些百分比。我使用ggplot和facet绘制数据,除了轴底部的y轴(深度)上的零点外,它很棒。我希望这个零位于y轴的顶部。

这是数据,例如:

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")

我正在使用此代码在条形图中绘制它们:

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

正如您所见,深度轴从底部开始: enter image description here

我想知道如何反转深度轴,以便0从顶部开始?

1 个答案:

答案 0 :(得分:2)

也许试试:

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

扭转轴?