我正在运行以下代码行
bp <- ggplot(data, aes(x = Month, y = days, group = Month)) + geom_boxplot()+facet_wrap(~Depth)
工作正常并生成3个不同深度的3个图表,每个深度包含每个月的箱图(我不能发布img
它)
但是,我想在一个图表上显示它们,深度颜色编码为3个变量(25,100和300)。 我怎么做到这一点? 我的数据看起来像这样
depth month days
25 1 49
25 1 51
100 1 52
100 1 55
300 1 52
300 1 50
25 2 47
25 2 48
100 2 53
100 2 57
300 2 56
300 2 59
... ... ...
如果这是一个重复的问题,我道歉但我看到的问题似乎并不适合我的需要 我尝试过使用
bp + geom_boxplot(position = position_dodge(width = 0.8))
建议here,但没有创建一个图
感谢
答案 0 :(得分:1)
我不确定要求&#34;深度颜色编码&#34;所以,让我们开始要求让他们一起#34;所有在一个情节&#34;。您可以使用交互功能构建一个双向分组,以便geom_boxplot
得到尊重:
bp <- ggplot(dat, aes(x = interaction(month,depth, sep=" x "), y = days)) +
geom_boxplot()
bp
这可能是所要求的:
bp <- ggplot(data, aes(x = group, y = days,
group = interaction(month, depth) , colour = as.factor(depth) )) +
geom_boxplot()
bp
答案 1 :(得分:1)
如果我正确理解您的问题,您的任务可以通过以下代码完成,
data <- read.table(text = "depth month days
25 1 49
25 1 51
100 1 52
100 1 55
300 1 52
300 1 50
25 2 47
25 2 48
100 2 53
100 2 57
300 2 56
300 2 59", header = TRUE)
首先,创建一个新变量group
data$group <- with(data, paste("Month:", month, ",depth:", formatC(depth, width = 3, flag = 0), sep = ""))
然后绘制箱线图,您必须使用scale_colour_manual()
指定颜色。
bp <- ggplot(data, aes(x = group, y = days, group = group, colour = group)) + geom_boxplot() + scale_colour_manual(values = rep(1:3, 2))
bp