2016-07-14 86 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