我正在尝试在最新版本的ggplot2中将alpha应用于平滑线。我有一个在12月更新中被打破的情节。该剧情的玩具示例:
dat <- mtcars
library(dplyr)
library(ggplot2)
plotdat <- dat %>% group_by(hp) %>% summarise(ave = mean(wt))
ggplot(plotdat, aes(hp,ave)) +
geom_line(size = 2, alpha = .2) +
geom_line(size = 2, alpha = .2, stat = "smooth")
#Warning message:
#Computation failed in `stat_smooth()`:
#object 'auto' of mode 'function' was not found
以上代码适用于以前的版本,但现在会发出警告。当然,使用geom_smooth方法不允许您访问平滑线的alpha,因为alpha命令控制功能区。
ggplot(plotdat, aes(hp,ave)) +
geom_line(size = 2, alpha = .1) +
geom_smooth(size = 2, se = FALSE, alpha = .1)
制作接近我想要的情节。如何生成具有alpha / transparency的深蓝色平滑线?
(请注意,第二个alpha没有生效。)
答案 0 :(得分:1)
感谢@aosmith提出的建议。通过直接在geom_line中将方法指定为“黄土”,我得到了一个有效的答案。
dat <- mtcars
library(dplyr)
library(ggplot2)
plotdat <- dat %>% group_by(hp) %>% summarise(ave = mean(wt))
ggplot(plotdat, aes(hp,ave)) +
geom_line(size = 2, alpha = .2) +
geom_line(size = 2, alpha = .2, stat = "smooth", method = "loess")