R 在连续x轴上按组填充和减淡箱线图

R 在连续x轴上按组填充和减淡箱线图,r,plot,ggplot2,grouping,boxplot,R,Plot,Ggplot2,Grouping,Boxplot,我一直有一个问题,似乎是一个简单的事情做:分组箱线图与一个连续的x轴 以下是最基本的数据: df <- cbind(expand.grid(x=1:10, rep=1:20, fill=c("A", "B")), y=runif(400)) 这是当我将x作为连续的,没有分组时得到的结果: ggplot(df, aes(x=x, y=y, fill=fill)) + geom_boxplot() 添加分组时,颜色将消失: ggplot(df, aes(x=x, y=y, grou

我一直有一个问题,似乎是一个简单的事情做:分组箱线图与一个连续的x轴

以下是最基本的数据:

df <- cbind(expand.grid(x=1:10, rep=1:20, fill=c("A", "B")), y=runif(400))

这是当我将
x
作为连续的,没有分组时得到的结果:

ggplot(df, aes(x=x, y=y,  fill=fill)) + geom_boxplot()

添加分组时,颜色将消失:

 ggplot(df, aes(x=x, y=y, group=x, fill=fill)) + geom_boxplot()

明确地说,我希望在
geom_point
中:

ggplot(df, aes(x=x, y=y, group=x, color=fill)) + geom_point(position=position_dodge(width=.7))

…但如果我试图在箱线图中设置道奇:

ggplot(df,aes(x=x,y=y,color=fill))+geom_盒形图(位置=位置+减淡(宽度=0.7))


有什么建议吗?我试着四处搜索:处理连续的箱线图,但没有颜色问题;这让我想知道是否需要设置一个交互,但似乎没有得到想要的结果。任何帮助都将不胜感激

来自aes集团订单的:

默认情况下,组设置为组中所有离散变量的交互 阴谋

在数据中,只有一个离散变量“fill”。但是,我们希望数据按“填充”和“x”进行分组。因此,我们需要使用
group
参数指定所需的分组。是的,你是对的,
互动
是一条路

首先,数据集稍微小一些(更容易将数据链接到输出):


这是一个有效的版本,为您自己的裁剪尺寸定制:

以原始df为例:

{df <- cbind(expand.grid(x=1:10, rep=1:20, fill=c("A", "B")), y=runif(400))}
具有5个自定义组的箱线图,在1:10之间等分

我知道这不是您要求的,但您可以在
x
上按间隔分组,实现类似的效果(取决于数据是否有效)<代码>ggplot(df,aes(x=切割间隔(x=x,长度=1),y=y,填充=fill))+geom\U盒形图()
d <- data.frame(x = rep(c(1, 2, 4), each = 8),
                grp = rep(c("a", "b"), each = 4),
                y = sample(24))
ggplot(d, aes(x = x, y = y, group = interaction(x, grp), fill = grp)) +
  geom_boxplot()
{df <- cbind(expand.grid(x=1:10, rep=1:20, fill=c("A", "B")), y=runif(400))}
{ggplot(df, aes(x = cut(x, 5), y = y, fill = fill)) +
        geom_boxplot(position = "dodge2", outlier.alpha = 0.1)}