在 ggplot 和 facet 中反转 Y 轴

3

我有一个数据集,包含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个回答

6
也许可以尝试以下方法:
logm <- ggplot(logMelt1, aes(x=Depth, y=value)) + 
  geom_bar(stat = 'identity') + 
  scale_x_reverse() +
  coord_flip()  + 
  facet_grid( ~ variable, scale ='free_x')

如何翻转轴?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接