我试图显示数据集的均值和标准差,我想在其中将std显示为功能区。数据集分为三组,均值按预期以三种不同的颜色显示,而std色带则没有。
代码:
mtcars$cyl <- as.factor(mtcars$cyl)
plot1 <- ggplot(mtcars, aes(x=gear, y=hp, color=cyl)) + geom_point() +
stat_summary(geom='ribbon', fun.data = mean_cl_normal, fun.args=list(conf.int=0.95)) +
stat_summary(geom='line', fun.y = mean, size=1)
plot1
我没有足够的声誉来发布图像,但是色带全是黑色的。我感到困惑的是,为什么平均线似乎完美地映射到cyl-factor定义的三个组,并且这些线具有三种颜色,而色带却没有。
编辑:
答案 0 :(得分:1)
要为色带上色,您需要添加fill
的美感(与col
不同):
mtcars$cyl <- as.factor(mtcars$cyl)
plot1 <- ggplot(mtcars, aes(x=gear,
y=hp,
color=cyl, # color gives colour of lines and borders
fill = cyl)) + # fill colours the ribbons and other shapes
geom_point() +
stat_summary(geom='ribbon',
fun.data = mean_cl_normal,
fun.args=list(conf.int=0.95),
alpha = 0.5) + # added transparency
stat_summary(geom='line',
fun.y = mean, size=1)
plot1