关于geom_point和geom_line的一些问题

时间:2019-06-28 02:29:06

标签: r ggplot2

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个问题。

  1. 为什么scale_fill_manual无效?我想用线条填充点颜色。所有观点仍然是空洞的。 scale_linetype_manual也是无效的。所有线条都是不希望的实线。
  2. 如何在点处换行(不要穿过点)?
  3. 如果我要为原始线添加stat_smooth回归线,如何自动获得该线的颜色?有什么功能可以提取线条颜色,然后分配给stat_smooth中的参数?我不想手动指定stat_smooth行颜色来匹配原始行。

enter image description here

0 个答案:

没有答案