0

嘿亲爱的 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  

我想创造 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

有任何想法吗 ?

4

1 回答 1

0

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

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

于 2013-05-24T10:12:35.877 回答