如何创建“情节矩阵”

时间:2013-05-24 09:50:03

标签: r graphics matrix plot

嘿亲爱的R社区!

我有一个数据框,其库存值如下:

                   1          2          3       ...   N
                 EADS      Daimler    BOEING
01.01.2012        5,2        6,7         52
02.01.2012        5,4        6,5         51,8
    .              .          .           .
    .              .          .           .
    .              .          .           .
31.12.2012        7,4        4,8         71  

我想creata s.th.像一个“情节矩阵”,在每个条目中,一个图是比较两条线。这个NxN图中的每一个都有x轴上的日期和y轴上的股票值。我们的想法是能够将每个股票价值与其他股票价值逐一进行比较。所以你可以了解相关性。

我可以使用此命令实现我想要的(或多或少):

# hdMn is a matrix containing the normalized entries of the dataframe

windows(title="Comparison CHART (normalized data)")
par(mfrow=c(dim(hdMn)[2],dim(hd)[2])

for (i in 1:dim(hdMn)[2])
{
for (j in 1:dim(hdMn)[2])
{
    plot(x=1:dim(hdMn)[1],y=hdMn[1:dim(hdMn)[1],i],col="red",main=paste("comparison"
  + , names(historicalData)[i],"and", names(historicalData)[j]),xlab="working 
  + days",ylab="stock value [Euro]",type="l")
    lines(x=1:dim(hdMn)[1],y=hdMn[1:dim(hdMn)[1],j],col=(if(i==j)"red" 
  + else"green"),type="l")
}
}

在这里你可以看到结果。

https://docs.google.com/file/d/0B88TpEM5dcSdaTRTVXk4aVdCQmM/edit?usp=sharing

在这个结果中,我不喜欢每一个情节都有自己的标题。这花费了很多空间,并不是很好。 相反,我希望像手绘一样。

https://docs.google.com/file/d/0B88TpEM5dcSdNGJnaWd4WmlhdGM/edit?usp=sharing

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将包'ggplot2'与facet_grid()一起使用应该是您正在寻找的。 ggplot2 facet_grid documentation提供了所有细节,[R Cookbook提供了一些很好的]食谱(http://www.cookbook-r.com/Graphs/Facets_%28ggplot2%29/)。

要使用您的数据框,您必须首先使用'reshape2'包melt