Sto creando un grafico in R e ho bisogno di creare una linea in cui alcuni dei valori sono proiezioni. Le proiezioni sono rappresentate come una linea tratteggiata. Ecco il codice:Creare una linea tratteggiata parziale in ggplot2
df = data.frame(date=c(rep(2008:2013, by=1)),
value=c(303,407,538,696,881,1094))
ggplot(df, aes(date, value, width=0.64)) +
geom_bar(stat = "identity", fill="#336699", colour="black") +
ylim(c(0,1400)) + opts(title="U.S. Smartphone Users") +
opts(axis.text.y=theme_text(family="sans", face="bold")) +
opts(axis.text.x=theme_text(family="sans", face="bold")) +
opts(plot.title = theme_text(size=14, face="bold")) +
xlab("Year") + ylab("Users (in millions)") +
opts(axis.title.x=theme_text(family="sans")) +
opts(axis.title.y=theme_text(family="sans", angle=90)) +
geom_segment(aes(x=2007.6, xend=2013, y=550, yend=1350), arrow=arrow(length=unit(0.4,"cm")))
Così ho creato una linea che si estende dal 2008 al 2013. Tuttavia, voglio una linea continua dal 2008 al 2011, e una linea tratteggiata dal 2011 fino alla fine. Devo solo fare due segmenti di linea separati, oppure c'è un comando separato che posso usare per ottenere il risultato desiderato.