2017-10-10 74 views
1

ggrepel顯示標籤我有以下代碼:如何使用上排序的x和y軸值

library(tidyverse) 
all_annot_df <- as.tibble(iris) %>% 
    mutate(Obs = paste0("Obs_", row_number())) %>% 
    select(Obs, Species, Sepal.Length) 

signif_thres <- 7.5 
all_annot_df["Significant"] <- ifelse((all_annot_df$Sepal.Length > signif_thres),"Signif","NotSignif") 
p <- all_annot_df %>% 
    ggplot(aes(reorder(Obs,Sepal.Length), Sepal.Length, colour=Species)) + 
    geom_point() + 
    theme_bw() + 
    xlab("Observation") + 
    theme(axis.text.x=element_blank(), 
     axis.ticks.x=element_blank()) + 
    geom_hline(aes(yintercept=signif_thres, colour='red')) 


p 

它產生以下情節: enter image description here

如上圖I」中所示d喜歡使用ggrepel顯示標籤。 我該怎麼辦?

回答

2
library(ggrepel) 
library(tidyverse) 

指定您想註解

observs = paste0("Obs_", c(106, 118, 119, 123, 132)) 

過濾器中的數據相應

p + 
geom_text_repel(data = all_annot_df %>% 
        filter(Obs %in% observs), 
       aes(x = reorder(Obs,Sepal.Length), 
        y = Sepal.Length, 
        label = Obs), 
       color= "black") 

enter image description here

的意見
相關問題