2016-11-09 12 views
-3

Es folgt mein Daten-Set:Liniendiagramm für mehrere Variablen

MONTH YEAR Load 
6 2011 5224.055 
7 2011 6073.028 
8 2011 5261.029 
9 2011 4769.155 
6 2012 4865.499 
7 2012 5797.578 
8 2012 5433.050 
9 2012 4482.148 
6 2013 4922.000 
7 2013 5808.981 
8 2013 4928.632 
9 2013 4395.204 
6 2014 4819.491 
7 2014 5258.155 
8 2014 4786.323 
9 2014 4468.914 
6 2015 4931.468 
7 2015 5403.063 
8 2015 5266.076 
9 2015 4803.703 

Jetzt möchte ich LOAD auf der Y-Achse, Jahr auf der X-Achse und Linie sollte die Last und Jahr Variation für zeigen jeweils Monat. Separate Linie für separaten Monat

Antwort

0

Mit ggplot2 (plus dplyr Monaten Zahlen Monatsnamen on the fly zu konvertieren), wäre es so etwas wie diese (und wir werden Ihre Datenrahmen übernehmen dat genannt wird):

library(dplyr) 
library(ggplot2) 

ggplot(dat %>% mutate(MONTH=factor(month.abb[MONTH], levels=month.abb)), 
     aes(x=YEAR, y=Load, colour=MONTH)) + 
    geom_line() + 
    geom_point() + 
    theme_bw() + 
    scale_y_continuous(limits=c(0,6500)) + 
    labs(colour="Month") 

enter image description here

+0

Es hat funktioniert. Vielen Dank. –

0

Versuchen Sie, diese (vorausgesetzt, Ihren Datenrahmen ist df):

head(df) 

MONTH YEAR  Load 
1  6 2011 5224.055 
2  7 2011 6073.028 
3  8 2011 5261.029 
4  9 2011 4769.155 
5  6 2012 4865.499 
6  7 2012 5797.578 

Wenn Sie Variationen pro Monat zeigen wollen, dann verwenden Sie die folgende:

df$MONTH <- as.factor(df$MONTH) 
ggplot(df, aes(YEAR, Load, colour = MONTH, group=MONTH, color=MONTH))+ 
    geom_line(lwd=2) +geom_point() 

enter image description here

Wenn Sie Variationen pro Jahr zeigen wollen/Monat zusammen können Sie dies versuchen:

library(ggplot2) 
library(scales) 
df$Date <- as.Date(paste(1, df$MONTH, df$YEAR, sep='/'), '%d/%m/%Y') 
ggplot(df, aes(Date, Load, colour = Load))+ 
    geom_line() +geom_point() + 
    scale_x_date(date_breaks= "1 month", date_labels = "%m/%Y") + 
    theme(axis.text.x = element_text(angle=90, vjust = 0.5)) 

enter image description here