ggplot2顶部的y轴和x轴颠倒的图

MYa*_*208 5 r ggplot2

我正在尝试以ggplot2y轴和x轴颠倒的方式绘制图。我过去常常scale_y_reverse()将y轴反转,但无法弄清楚如何将x轴放在顶部而不是底部。

dfn <- read.table(header=T, text='
supp dose length
  OJ  0.5  13.23
  OJ  1.0  22.70
  OJ  2.0  26.06
  VC  0.5   7.98
  VC  1.0  16.77
  VC  2.0  26.14
')

library(ggplot2)
p1 <- ggplot(data=dfn, aes(x=dose, y=length, group=supp, colour=supp)) + geom_line() + geom_point()
p1 <- p1 + scale_y_reverse()
print(p1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Cep*_*irk 7

现在使用 ggplot v2.2.0 更容易:

p1 <- ggplot(data=dfn, aes(x=dose, y=length, group=supp, colour=supp)) + geom_line() + geom_point()
p1 <- p1 + scale_y_reverse() + scale_x_continuous(position = 'top')
print(p1)
Run Code Online (Sandbox Code Playgroud)


Lyz*_*deR 1

你需要 ggvis 来做到这一点:

library(ggvis)
dfn %>% ggvis(~dose, ~length, fill= ~supp, stroke=~supp) %>% layer_lines(fillOpacity=0) %>%
  scale_numeric('y', reverse=T) %>% add_axis('x',orient='top')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述