2017-10-26 2 views
1
gezeichnet

Ich folgte the accepted SO answer, um ein Liniendiagramm mit 2 Zeilen über mehrere Jahre zu erhalten. Kann mir jemand erklären, was ich falsch mache?Spalten nicht richtig gruppiert, wenn in ggplot

temp<-structure(list(Years = c(1950, 1955, 1960, 1965, 1970, 1975, 
           1980, 1985, 1990, 1995, 2000, 2002, 2005, 2007, 2009, 2011, 2013, 
           2015, 2017), X1878_8TF = c(4, 5, 10, 20, 15, 22.5, 80, 70, 47.5, 
                  47.5, 65, 125, 125, 150, 150, 140, 140, 160, 170), X7_TF_rev_1878 = c(3, 
                                   3, 3, 3.75, 6.5, 17, 65, 57.5, 30, 25, 35, 50, 60, 75, 85, 80, 
                                   80, 85, 90)), .Names = c("Years", "X1878_8TF", "X7_TF_rev_1878" 
                                   ), class = "data.frame", row.names = c(NA, -19L)) 


df <- melt(temp , id.vars = 'Years', variable.name = 'coin_name') 
ggplot(df, aes(Years,value)) + 
    geom_line(aes(colour = rainbow(nrow(df))))+ 
    ggtitle("blah") 

Dies ist, was ich bekommen:

enter image description here

Antwort

2

Wenn Sie nur zwei Linien wollen, ich glaube, Sie wollen etwas, wie:

ggplot(df, aes(Years,value)) + 
geom_line(aes(color = coin_name)) + 
ggtitle("blah") 

Wie haben Sie es, wird es versuchen, um für jeden Punkt in Ihrem Dataset eine separate Zeile zu erstellen.

Verwandte Themen