是否可以包含group = variable并在ggplot中添加另一个点.
例如:
require(MuMIn)
require(ggplot2)
data(Cement)
d <- data.frame(Cement)
dd <- melt(d,id.var = "y")
d2 <- runif(length(dd[,1]))
d2 <- data.frame(first = dd$y,
second = d2)
ggplot(dd, aes(x = y,y = value,group = variable)) +
geom_line() +
geom_point(data = d2,aes(x = first,y = second))
Run Code Online (Sandbox Code Playgroud)
这会导致错误.最后我想将这里指定的点添加到线图上.
ggplot2中的映射美学遵循一种继承模式.当您在"顶部"级别映射美学时ggplot(),它们会自动传递到所有后续层.
这意味着geom_point正在寻找一个variable列d2.它不会查找y或value列,因为您明确重新映射了x和y美学geom_point().
的解决方法是,顶层审美映射从移动ggplot()至geom_line(),或到未映射 group中geom_point使用group = NULL.
此外,Didzis指出了意见,这是添加第三种解决方案inherit.aes = FALSE来geom_point.