更改重叠数据的因子的显示顺序

时间:2017-10-13 11:55:15

标签: r ggplot2 factors

我有一个重叠点的情节,想要更改哪个组位于顶部。

请检查此示例,我设法在图例中使用rev()在颜色和顺序方面反转a和b,但“b”仍在“a”之上。任何解决方案?

提前致谢

d

library(ggplot2)

mytable <- data.frame(x = rep(1:10, 2), 
          y = c(1:10, (1.1:10.1)),
          var = factor(c(rep("a",10), rep("b",10)))
          )

ggplot(mytable) +
  geom_point(aes(x=x,y=y, colour = var), cex=2)

mytable$var_rev <- with(mytable, factor(var, levels=rev(levels(var)))) 

ggplot(mytable) +
  geom_point(aes(x=x,y=y, colour = var_rev), cex=2)

1 个答案:

答案 0 :(得分:2)

试试这个:

library(tidyverse)
mytable %>%
  arrange(desc(var)) %>%
  ggplot() +
  geom_point(aes(x=x,y=y, colour = var), cex=2)

enter image description here

只需:

ggplot(mytable) +
     geom_point(aes(x=x,y=y, colour = var), cex=2)

enter image description here

以与数据框中相同的顺序绘制点