2016-04-02 10 views
-1

Ich habe die folgende Handlung aufgetragen:Wie der Linientyp in der Legende ändern, indem ggplot

enter image description here

Mit dem Code:

ggplot(decadevalue, aes(decade,group=1))+ 
geom_line(aes(y=decadevalue[,1],colour="black"),size=1.5,linetype = "dashed")+ 
geom_line(aes(y=decadevalue[,2],colour="#E69F00"),size=1.5,linetype = "twodash")+ 
geom_line(aes(y=decadevalue[,3],colour="#56B4E9"),size=1.5)+ 
geom_line(aes(y=decadevalue[,4],colour="#009E73"),size=1.5)+ 
geom_line(aes(y=decadevalue[,5],colour="#F0E442"),size=1.5)+ 
geom_line(aes(y=decadevalue[,6],colour="#0072B2"),size=1.5)+ 
geom_line(aes(y=decadevalue[,7],colour="#D55E00"),size=1.5)+ 
geom_line(aes(y=decadevalue[,8],colour="#CC79A7"),size=1.5)+ 
geom_line(aes(y=decadevalue[,9],colour="#000000"),size=1.5)+ 
geom_line(aes(y=decadevalue[,10],colour="#CC6666"),size=1.5,linetype = "dotted")+ 
ggtitle("Plot of Percentage of Motivations by Decade")+ 
xlab("Decade")+ ylab("Percentage")+ 
scale_colour_discrete(name="",labels=c(MI[9],MI[6],MI[4],MI[3],MI[10],MI[8],MI[7],MI[2],MI[5],MI[1]))+ 
scale_linetype_discrete(limits = c(rep("solid", 4),"dotted",rep("solid",2),"twodash","solid","dashed"))+ 
theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

Wer weiß, wie die entsprechende Zeile ändern Typen in der Legende?

+0

machen Sie wahrscheinlich feststellen, es einfacher zu 'reshape' /' Ihre Daten melt', und ordnen dann Variablen in die 'colour' führt und' linetype' Ästhetik. Dann wird die entsprechende Legende automatisch generiert. – user20650

+0

siehe http://stackoverflow.com/questions/3777174/plotting-two-variables-as-lines-using-ggplot2-on-the-same-graph#3777592, http://stackoverflow.com/questions/23420961/ plotten-multiple-lines-aus-einem-daten-frame-with-ggplot2 – user20650

Antwort

0

Sie können von scale_linetype_manual

scale_linetype_manual(values=c(1,1,1,1,2,3,2,3))+ 
... 
... 
Verwandte Themen