2016-07-14 89 views
0

我有這樣一個數據幀:- [R情節多行ggplot

dput(data) 

structure(list(Anno = c(2015L, 2014L), Gennaio = c(381, 270.9 
), Febbraio = c(355, 266.75), Marzo = c(352, 285.5), Aprile = c(323, 
288), Maggio = c(296, 288), Giugno = c(307, 276.17), Luglio = c(340, 
298.75), Agosto = c(335, 307.5), Settembre = c(304, 307.5), Ottobre = c(283, 
342.5), Novembre = c(281, 401.25), Dicembre = c(274, 387.5)), .Names = c("Anno", 
"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", 
"Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" 
), class = "data.frame", row.names = c(NA, -2L)) 

我想與多行,由年份(安野)gruped繪製此。我怎樣才能做到這一點?事情是這樣的: enter image description here

我嘗試這樣做:

data.melted <- melt(data, id.vars="Anno", value.name="Mese", variable.name="Anno") 
ggplot(data=data.melted, aes(x=Anno, y=Mese, group = Anno, colour = Anno)) + 
+  geom_line() + 
+  geom_point(size=4, shape=21, fill="white") 

,但我得到這個錯誤:

Error in eval(expr, envir, enclos) : oggetto "Mese" non trovato 
+0

添加一個'geom_line()'或'geom_smooth(SE = F)'。 – Daniel

回答

1

試試這個:

library(reshape2) 
library(ggplot2) 
library(dplyr) 

melt(data, "Anno", variable.name = "Mese") %>% 
    ggplot(aes(x=Mese, y = value, color = as.factor(Anno))) + 
    geom_point(size=4, shape=21, fill="white") + 
    geom_line(aes(group = Anno)) 

的管道使用dplyr%>%運營商當然是可選的。您可以像在代碼中那樣保存中間步驟。

結果是以下情節: enter image description here

+0

我得到這個錯誤「eval(expr,envir,enclos)中的錯誤:oggetto」Mese「未找到」 – slash89mf

+0

您是否使用我發佈的代碼?我沒有得到同樣的錯誤。 – thepule

+0

現在工作,謝謝。 – slash89mf