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

Change display order of factors for overlapping data

我有一个有重叠点的图,我想更改哪个组在最上面。

请查看此示例,我设法根据图例中的颜色和顺序颠倒了 a 和 b,rev() 但 "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)

试试这个:

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

刚刚:

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

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