格式化大型数据集的情节线

时间:2014-05-09 20:09:42

标签: r layout accelerometer

我是R-studio的新手,我可以稍微帮忙。

我正在收集加速度计数据,我需要能够以有意义的方式查看12小时文件。

我想做的是模仿我发布的图片。每10万个数据点,我希望情节以与地震分析师可视化数据相同的方式包裹起来。

抱歉,我无法发布图片,因为我没有足够的积分。这是链接

http://eqinfo.ucsd.edu/cacheimages/vncdumps/orbmonrtd/anza24hr_Z.gif

数据如下所示:

millis,x,y,z
2210,502,533,701
2230,499,538,702
2240,502,535,705
2250,500,560,699

创建绘图线的脚本看起来像这样

data <- read.csv("LOG_141.DAT", skip=2, header = TRUE,
  stringsAsFactors = FALSE)
str(data)
plot(data$millis[1:100000], data$y[1:100000], type = "l", cex = 0.2, ylim=c(100,1000))

1 个答案:

答案 0 :(得分:0)

弥补数据:

d <- data.frame(millis=1:1e6,y=rnorm(1e6))
d$c <- rep(1:1e5,length.out=nrow(d))

这很容易编写,但需要很长时间才能渲染。

library(ggplot2)
ggplot(d,aes(x=millis,y=y))+facet_grid(c~.)+geom_line()

或(也慢)

library(lattice)
xyplot(y~millis|c,data=d,layout=c(10,1))

(说实话,我放弃了等待上述任何一项完成。)

基本图形中最快:

par(mfrow=c(10,1),mar=c(0,4,0,1),las=1)
for (i in 1:10) {
    plot(y~millis,data=d[1:999999+(i-1)*1e5,],type="l",
         axes=FALSE,ann=FALSE)
    box()
    axis(side=2)
}

请参阅?par以获取调整外边距等的帮助等。

您可能会考虑二次取样:如果您的屏幕(或其他输出设备)只有几千像素宽,并且您在屏幕宽度上绘制100,000点,那么大多数 他们中的任何一方都会被隐藏起来!