将矩阵的列视为系列的图

时间:2013-12-25 21:50:11

标签: r ggplot2

大家好我正在使用R中的矩阵。这个名为Matriz.Colocacion的矩阵有五列,每列显示有关2009年,2010年,2011年,2012年和2013年不同年份的信息。{{1}的行名称每年都有月份。我的矩阵有下一个表单(我在最后部分中包含Matriz.Colocacion dput()版本):

Matriz.Colocacion

当我尝试构建图形时,我遇到了问题。我不知道在单个系列中分离我的矩阵是否更好,或者无论如何都要使用所有矩阵来绘制我希望的图形。我想得到一个这样的图形:enter image description here

在x轴中显示 2009 2010 2011 2012 2013 enero 710004.35 1458624.41 6229245.09 4407422.89 3006568.05 febrero 889398.08 942099.60 5553163.01 4248144.11 2615730.00 marzo 1114883.11 1210951.20 6372919.90 3537103.40 2833299.10 abril 1419242.11 1151423.89 6755054.64 3500595.75 3438797.32 mayo 1585857.22 1598355.10 7119008.27 4049074.18 3224926.48 junio 1010455.56 1370856.78 7585411.87 3279868.96 2794029.57 julio 1292333.35 1420547.36 7402737.51 3420974.23 3003458.16 agosto 1032443.35 2048291.06 7250944.21 2602310.30 2486931.57 septiembre 1133260.11 3043637.60 6227706.73 2225635.25 2515076.46 octubre 1229593.84 3669634.09 5795989.01 2853467.41 2674568.38 noviembre 1074569.64 3641665.16 4015226.43 4178671.47 0.00 diciembre 1370905.58 6780879.37 5391952.87 2831027.32 0.00 的位置,并且在图表的图例中显示了矩阵的不同年份(2009,2010,2011,2012,2013)。

我对ggplot知之甚少,我在尝试创建此图时遇到了一些麻烦。我的矩阵的row.names(Matriz.Colocacion)版本是下一个:

dput()

我等你可以帮助我。非常感谢。

1 个答案:

答案 0 :(得分:4)

诀窍是以正确的格式获取数据:

library(reshape2)
library(ggplot2)
library(scales)

dat_melt = melt(dat)
dat_melt = within(dat_melt, { 
   Var2 = as.factor(Var2) 
   Var1 = factor(Var1, levels = c('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'))
  })

ggplot(dat_melt, aes(x = Var1, y = value, color = Var2, group = Var2)) + 
   geom_line() + 
   scale_y_continuous(labels = comma)

enter image description here

这个问题比我最初想的要棘手一些。在这种情况下,colorgroup美学都需要,因为x轴是factor变量,ggplot2在使用{{1}时通常不会连接点有关详细信息,请参阅this link