2015-12-11 1 views
6

Ho una trama semplice in ggplot2 e voglio aggiungere una linea di regressione tratteggiata. Finora ho:Tracciare la linea di regressione tratteggiata con geom_smooth in ggplot2

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

che restituisce quello che voglio, ma con una linea continua:

scatterplot with regression line

Voglio fare la linea tratteggiata. Penso che dovrei usare scale_linetype_manual() ma i miei tentativi sono stati hacky.

Una domanda semplice, ma non ho trovato un duplicato.

+1

tipo di linea è uno dell'estetica geom_smooth capisce. Quindi, puoi regolare l'uso di 'geom_smooth (method =" lm ", se = FALSE, linetype =" dashed ")' – Jota

+0

@Jota Questo lo fa. Puoi postarlo come risposta? –

risposta

8

Come nella pagina della guida (vedere ?geom_smooth), il tipo di linea è uno degli aspetti estetici che geom_smooth comprende.

Quindi, è possibile regolare di utilizzare 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()