【问题标题】:Combine many violin plots in one single figure将许多小提琴情节组合在一个图形中
【发布时间】:2020-05-27 08:37:00
【问题描述】:

有没有办法生成图 B 中的情节?

我知道如何生成单个小提琴图,但我不知道如何将它们组合起来,如图所示。我会给你一些人工数据:

     Cl            Sig1                Sig2            Sig3       
     1             3.5                 2.5             3.7        
     1             2.1                 2               1.7    
     1             0.8                 6               2.5     
     2             9.1                 3.6             0.23   
     2             10.1                8.5             4.7        
     3             11.1                12.5            20        
     3             23.5                19.7            18        
     3             21.5                20              15.7        
     3             18.4                11              13.9     

【问题讨论】:

    标签: r


    【解决方案1】:

    使用以下代码

    library(tidyverse)
    
    df %>% pivot_longer(cols = -Cl, names_to = "Sig", values_to = "value") %>% 
      mutate(cl = factor(Cl, levels = c(1, 2, 3))) %>% 
      ggplot() + geom_violin(aes(cl, value, fill=cl)) + facet_wrap(Sig~.)
    

    如果你想重现你提供的情节,请使用

    df %>% pivot_longer(cols = -Cl, names_to = "Sig", values_to = "value") %>% 
      mutate(cl = factor(Cl, levels = c(1, 2, 3))) %>% 
      ggplot() + geom_violin(aes(cl, value, fill=cl)) + 
        facet_wrap(Sig~.) + theme_bw() + coord_flip()
    

    如果您不想 trim 您的小提琴情节,请使用

    df %>% pivot_longer(cols = -Cl, names_to = "Sig", values_to = "value") %>% 
      mutate(cl = factor(Cl, levels = c(1, 2, 3))) %>% 
      ggplot(aes(cl, value, fill=cl)) + geom_violin(trim = FALSE) + 
        facet_wrap(Sig~.) + theme_bw() + coord_flip()
    

    数据

    df = structure(list(Cl = c(1L, 1L, 1L, 2L, 2L, 3L, 3L, 3L, 3L), Sig1 = c(3.5, 
    2.1, 0.8, 9.1, 10.1, 11.1, 23.5, 21.5, 18.4), Sig2 = c(2.5, 2, 
    6, 3.6, 8.5, 12.5, 19.7, 20, 11), Sig3 = c(3.7, 1.7, 2.5, 0.23, 
    4.7, 20, 18, 15.7, 13.9)), class = "data.frame", row.names = c(NA, 
    -9L))
    

    您的Cl 2 不包含用于小提琴情节的正确复制。

    【讨论】:

      猜你喜欢
      • 2016-10-27
      • 1970-01-01
      • 2018-05-15
      • 2013-06-27
      • 2021-06-01
      • 2017-05-21
      • 2018-05-15
      • 2019-05-21
      • 2015-12-25
      相关资源
      最近更新 更多