将小提琴图与闪避的箱形图对齐 [英] Align violin plots with dodged box plots

查看:90
本文介绍了将小提琴图与闪避的箱形图对齐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个数据框

  set.seed(1234)
x<-rnorm(80,5,1)
df<-data.frame(groups = c(rep( group1,20),
rep( group2,20),
rep( group3, 20),
rep( group4,20)),
值= x,
类型= c(rep( A,10),
rep( B,10),
rep( A,10),
rep( B,10),
rep( A,10),
rep( B,10),
rep( A,10),
rep( B,10)))

我想将其绘制为小提琴图,与窄箱图对齐并按类型分组:

  ggplot(data = df,aes(x = grou ps,y =值,填充=类型))+ 
geom_violin()+
geom_boxplot(width = 0.1,outlier.colour = NA)

但是,箱形图与小提琴图不对齐。告诉ggplot进行此类覆盖的缺少参数是什么?


谢谢!

解决方案

您需要为两个 geom 显式设置闪避的宽度

  dodge<-position_dodge(width = 0.4)

ggplot(data = df,aes(x = groups,y = value,填充=类型))+
geom_violin(位置=闪避)+
geom_boxplot(宽度= .1,离群值.color = NA,位置=闪避)
/ pre>


I have this data frame

set.seed(1234)
x <- rnorm(80, 5, 1)
df <- data.frame(groups = c(rep("group1",20),
                           rep("group2",20),
                           rep("group3",20),
                           rep("group4",20)),
                    value = x,
                    type = c(rep("A", 10),
                           rep("B", 10),
                           rep("A", 10),
                           rep("B", 10),
                           rep("A", 10),
                           rep("B", 10),
                           rep("A", 10),
                           rep("B", 10)))

And I would like to plot it as violin plot, aligned with a narrow box plot and grouped by 'type':

ggplot(data = df, aes(x = groups, y = value, fill = type)) +
  geom_violin()+
  geom_boxplot(width = 0.1, outlier.colour = NA)

However, the box plots does not align to the violin plots. What is the missing argument to tell ggplot to do such overlying?

Thanks!

解决方案

You need to set the width of the dodging explicitly for both geoms:

dodge <- position_dodge(width = 0.4)

ggplot(data = df, aes(x = groups, y = value, fill = type)) +
  geom_violin(position = dodge)+
  geom_boxplot(width=.1, outlier.colour=NA, position = dodge) 

这篇关于将小提琴图与闪避的箱形图对齐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆