2017-10-13 53 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