Erstellen Sie eine teilweise gestrichelte Linie in ggplot2
Ich bin momentan dabei, ein Grundstück in R und brauchen, um eine Linie, wo einige der Werte sind Projektionen. Die Projektionen sind dargestellt als eine gestrichelte Linie. Hier ist der code:
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")))
Also ich habe eine Linie, die sich von 2008 bis 2013. Allerdings möchte ich eine durchgezogene Linie von 2008 bis 2011 und eine gestrichelte Linie von 2011 zu Ende. Muss ich nur tun, zwei getrennte Liniensegmente, oder gibt es einen separaten Befehl, den ich verwenden können, um das gewünschte Ergebnis zu erhalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
ggplot
Philosophie ist einfach. Jedes element einer Handlung muss auf einer anderen Ebene. Somit erhalten Sie zwei Liniensegmente, die in verschiedenen line-Typen, müssen Sie zweigeom_segment
Aussagen.Ich veranschaulichen das gleiche Prinzip mit
geom_bar
in verschiedenen Farben für Ihre verschiedenen Epochen.