ggplot2绘制分裂小提琴图

作者: R语言数据分析指南 | 来源:发表于2021-07-23 22:54 被阅读0次

    本节来介绍如何使用ggplot2绘制分裂小提琴图

    加载R包

    library(pacman)
    # p_install_gh("psyteachr/introdataviz") #github安装R包
    # devtools::install_github("psyteachr/introdataviz")
    library(introdataviz)
    library(tidyverse)
    

    ggplot2绘制分裂小提琴图

    colours <- c("#FF0000","#00A08A")
    
    ggplot(ldt_long, aes(x = condition, y = rt, fill = language)) +
      introdataviz::geom_split_violin(alpha = .4) +
      geom_boxplot(width = .2, alpha = .6, show.legend = FALSE) +
      stat_summary(fun.data = "mean_se", geom = "pointrange", show.legend = F, 
                   position = position_dodge(.175)) +
      scale_x_discrete(name = "Condition", labels = c("Non-word", "Word")) +
      scale_y_continuous(name = "Reaction time (ms)") +
      scale_fill_manual(values = colours, name = "Language group") +
      theme_minimal()
    

    ggplot2绘制云雨图

    rain_height <- .1
    
    ggplot(ldt_long, aes(x = "", y = rt, fill = language)) +
      introdataviz::geom_flat_violin(trim=FALSE, alpha = 0.4,
                                     position = position_nudge(x = rain_height+.05)) +
      geom_point(aes(colour = language), size = 2, alpha = .5, show.legend = FALSE, 
                 position = position_jitter(width = rain_height, height = 0)) +
      geom_boxplot(width = rain_height, alpha = 0.5, show.legend = FALSE, 
                   outlier.shape = NA,
                   position = position_nudge(x = -rain_height*2)) +
      stat_summary(fun.data = mean_se, mapping = aes(color = language), show.legend = FALSE,
                   position = position_nudge(x = rain_height * 3)) +
      scale_x_discrete(name = "", expand = c(rain_height*3, 0, 0, 0.7)) +
      scale_y_continuous(name = "Reaction time (ms)",
                         breaks = seq(200, 800, 100), 
                         limits = c(200, 800)) +
      coord_flip() +
      facet_wrap(~factor(condition, 
                         levels = c("word", "nonword"), 
                         labels = c("Words", "Non-Words")), 
                 nrow = 2) +
      scale_fill_manual(values = colours, name = "Language group") +
      scale_colour_manual(values = colours) +
      theme_minimal() +
      theme(panel.grid.major.y = element_blank(),
            legend.position = c(0.8, 0.8),
            legend.background = element_rect(fill = "white", color = "white"))
    

    相关文章

      网友评论

        本文标题:ggplot2绘制分裂小提琴图

        本文链接:https://www.haomeiwen.com/subject/jiprmltx.html