Plot dashed regression line with geom_smooth in gg

2019-04-25 09:37发布

问题:

I have a simple plot in ggplot2 and want to add a dashed regression line. So far I have:

library(ggplot2)
ggplot(mtcars, aes(x = hp, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  theme_bw()

Which returns what I want, but with a solid line:

I want to make the line dashed. I think I should use scale_linetype_manual() but my attempts have been hacky.

A simple question, but I couldn't find a duplicate.

回答1:

As per the help page (see ?geom_smooth), linetype is one of the aesthetics geom_smooth understands.

So, you can adjust to use geom_smooth(method = "lm", se = FALSE, linetype="dashed")

library(ggplot2)
ggplot(mtcars, aes(x = hp, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, linetype = "dashed") +
  theme_bw()


标签: r ggplot2