R ggplot2中的单独图例geom_光滑
我想画一个与此非常相似的图:R ggplot2中的单独图例geom_光滑,r,ggplot2,R,Ggplot2,我想画一个与此非常相似的图: library(ggplot2) ggplot(data=mtcars, aes(x = wt,y = mpg, colour = factor(cyl))) + geom_line() + geom_smooth(method = "lm", se=FALSE, lty = 2) 但是,我特别希望在图例中为虚线(线性趋势)和实线(数据)添加不同的条目。这看起来很琐碎,但出于某种原因,我一直无法理解。如果您需要在一个图例中显示6个不同的级别,并结合线型
library(ggplot2)
ggplot(data=mtcars, aes(x = wt,y = mpg, colour = factor(cyl))) +
geom_line() + geom_smooth(method = "lm", se=FALSE, lty = 2)
但是,我特别希望在图例中为虚线(线性趋势)和实线(数据)添加不同的条目。这看起来很琐碎,但出于某种原因,我一直无法理解。如果您需要在一个图例中显示6个不同的级别,并结合线型和颜色,那么一个解决方案是创建新的数据帧,其中包含原始的
mpg
值和线性模型的预测值
创建新的数据帧mtcars2
,其中用预测值替换mgp
library(plyr)
mtcars2<-ddply(mtcars,.(cyl),mutate,mpg=predict(lm(mpg~wt)))
合并两个数据帧
mtcars.new<-rbind(mtcars,mtcars2)
非常感谢!我想知道是否有可能将条目与数据的颜色混合在一起。如:6个条目,红色实线:4,红色虚线:4(线性趋势),绿色实线:6,绿色虚线:6(线性趋势),蓝色实线:8,蓝色虚线:8(线性趋势)?@Sachaepskam更新了我的答案,使图例具有6个级别
mtcars.new<-rbind(mtcars,mtcars2)
ggplot(mtcars.new,aes(x=wt,y=mpg,color=interaction(type,factor(cyl)),
lty=interaction(type,factor(cyl))))+
geom_line()+
scale_color_manual("Legend",values=c("red","red",
"green","green","blue","blue"))+
scale_linetype_manual("Legend",values=c(2,1,2,1,2,1))