set.seed(10)
df <- rbind(
data.frame(x=1:10,y=runif(10),group='a'),
data.frame(x=1:10,y=runif(10)*0.5,group='b'),
data.frame(x=1:10,y=runif(10)*0.8,group='c'),
data.frame(x=1:10,y=runif(10)*1.5,group='d')
)
ggplot(df, aes(x=x, y=y,color=group)) +
geom_line() +
geom_point(aes(shape=group),size=4)+
# 4 is cross , 2 is triangle, 6 is inversed triangle, 1 is circle.
scale_shape_manual(values=c(4,2,6,1))+
scale_fill_manual(values=c('#737373','#fb9a99','#33a02c','#cab2d6'))+
scale_color_manual(values=c('#737373','#fb9a99','#33a02c','#cab2d6'))+
# 1 is solid ,2 is dashed
scale_linetype_manual(values=c(2,1,1,2))+
stat_smooth(data=df %>% dplyr::filter(group=='a'),
method=lm,color='#737373',se=FALSE,size=0.5)+
theme_bw()
我试图在一张图中绘制4条线。我困惑了3个问题。
scale_fill_manual
无效?我想用线条填充点颜色。所有观点仍然是空洞的。 scale_linetype_manual
也是无效的。所有线条都是不希望的实线。stat_smooth
回归线,如何自动获得该线的颜色?有什么功能可以提取线条颜色,然后分配给stat_smooth
中的参数?我不想手动指定stat_smooth
行颜色来匹配原始行。