我有一个关于如何对每组制作多个箱形图进行分层的问题。这就是我的示例代码
library(ggplot2)
mtcars$vs <- as.character(as.numeric(mtcars$vs))
y6 <- ggplot(mtcars, aes(x=vs,y=hp)) +
geom_boxplot(aes(group = vs),outlier.shape=NA, size=1, width = 0.6, fatten = 1) +
geom_jitter(aes(x=vs, y=hp, pch = factor(cyl)), position=position_jitter(width=.1, height=0), size = 2) +
scale_shape_manual(name ="X", values = c(1,2,3)) +
coord_cartesian(ylim=c(0, 350))
这是我从图中获得的。我希望通过图例对每个X轴的图形进行分层,共计6个箱形图(每个X轴3个;&#34; 1&#34; 3个&#34; 2&#34; 3个)。有没有办法做到这一点?我在下面附上了一张图片:
感谢您的想法!
答案 0 :(得分:1)
以下是您的代码:
library(ggplot2)
ggplot(mtcars, aes(x=vs,y=hp,fill = factor(cyl))) +
geom_boxplot(aes(fill = factor(cyl)),outlier.shape=NA, size=1, width = 0.6, fatten = 1) +
coord_cartesian(ylim=c(0, 350))
我在fill=
中使用ggplot()
参数按列cyl
拆分/分组数据。
如果您仔细查看mtcars
数据和情节,实际上cyl
实际上没有vs = 1
的3个唯一值,只有两个cyl
4&amp; 8)..因此你总共得到5盒
答案 1 :(得分:0)