我在一张表中有几个产品的多个属性的每小时摘要。
我想将它们绘制成一个面板,其中 x 轴代表时间,不同类型的产品具有不同的颜色。
我的数据如下所示:
> require(data.table)
# Create some data
> dt<-data.table(type=c(rep("a",168),rep("b",168),rep("c",168)),
time=1:168,A=rnorm(168,10,5),B=rnorm(168,100,20),C=rnorm(168,10,5))
> DT #Each type has 1~168 hours summary of all three attributes
type time A B C
1: a 1 7.462817 119.91299 7.404987
2: a 2 7.733695 146.14601 -3.203601
3: a 3 19.034468 84.45497 9.623048
4: a 4 8.813990 123.21235 12.719920
5: a 5 16.803735 92.69359 11.393730
---
500: c 164 18.016771 90.29856 10.238281
501: c 165 6.566802 131.67801 -2.085370
502: c 166 20.031678 83.34749 12.261008
503: c 167 4.705976 109.76303 9.327958
504: c 168 8.648876 84.67477 19.036321
通过应用plot.zoo
,我可以像这样一次绘制一种类型:
> setkey(DT,type)
> plot(zoo(DT["a"])[,3:5])
但是如何将所有产品绘制到一个面板中,其中不同的颜色代表不同的类型?
已编辑: 我认为我最初的问题可以解释为 2 个含义:如何将“A”、“B”、“C”(不同的列)放入一个面板以及如何将“a”“b”“c”(不同的在一个面板中键入值)。@Joshua Ulrich 和@Paul Hiemstra 都回答了第一个问题,但我真正想知道的是第二个问题。为了更好地理解,我重命名了 DT 的 colnames
> names(DT)<-c("type","time","Attr1" ,"Attr2" , "Attr3" )
> DT
type time Attr1 Attr2 Attr3
1: a 1 7.462817 119.91299 7.404987
2: a 2 7.733695 146.14601 -3.203601
3: a 3 19.034468 84.45497 9.623048
4: a 4 8.813990 123.21235 12.719920
5: a 5 16.803735 92.69359 11.393730
---
500: c 164 18.016771 90.29856 10.238281
501: c 165 6.566802 131.67801 -2.085370
502: c 166 20.031678 83.34749 12.261008
503: c 167 4.705976 109.76303 9.327958
504: c 168 8.648876 84.67477 19.036321
我正在寻找的是一个带有 3 个面板的图,每个面板代表一个属性(“Attr1”、“Attr2”、“Attr3”),在每个面板内,有几条不同颜色的线(时间序列)代表不同类型的数据(“a”、“b”、“c”)
抱歉之前的误导