2017-10-13 50 views
0

我有一个有重叠点的图并希望更改哪个组位于最前面。更改数据重叠因子的显示顺序

请检查此示例,我设法根据图例中的颜色和顺序颠倒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) 
+0

预期为每栏变量'var_rev'的水平。如果您对此有不同的看法,请明确地写出您有什么输出以及您的期望。 – Prradep

回答

1

试试这个:

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

的点以相同的顺序绘制为在所述数据帧

+0

我想大卫正在寻找剧情中的点数与标签的顺序相同。他们在你的情节中相反。让我们等待澄清这个问题。 – Prradep

+0

@Prradep在我看来,他想要从原始图改变点的顺序,所以'a'在'b'的顶部。添加了原始情节。 – missuse

+0

原始代码包含'color = var_rev'。 – Prradep