r - 绘制每毫秒的时间序列

标签 r plot time-series milliseconds

我无法让我的绘图显示每毫秒的点数。它总是每秒将所有内容聚合在一起。但我每毫秒都有数据。我做错了什么?

我有一个数据框:

                   time     x      y    z
2015-09-24 14:21:40.130  0.11  -0.19 1.54
2015-09-24 14:21:40.229  0.11  -0.19 1.54
2015-09-24 14:21:40.279  1.27  -0.55 1.69
2015-09-24 14:21:40.309  0.19   0.05 0.44
2015-09-24 14:21:40.342  1.15  -0.16 1.39
2015-09-24 14:21:40.426  0.03   0.88 0.12

时间列是 POSIXct 时间

options(digits.secs=3)
data$time <- as.POSIXct(data$time, "%H:%M:%OS" ,tz = "GMT")

当我绘制它时 plot(data$time, data$z) 它会在一秒钟内获取所有点并将其绘制在同一行上。因此,如果我仅绘制数据帧的 4 秒,它会显示 4 个点 strip ,而不是秒之间包含的毫秒的连续分布。

我想查看以毫秒为单位分布的点。 我也尝试过 ggplot,但结果是一样的。 希望我的问题有点清楚,因为我无法发布任何图像。

图片请参见:https://github.com/NieneB/rplot/blob/master/Rplot01.png

最佳答案

部分问题在于规模。当您的规模涵盖几分钟的数据时,毫秒差异无法很好地分离。我已经扩展了您的示例,以包含四个数据集,这些数据集间隔几分钟,并且每个数据集都位于同一秒内,正如您在链接中引用的图表所建议的那样。可以使用 ggplot 来绘制此图,如下所示:

library(ggplot2)
sp <- ggplot(cbind(data, DayHrMin=format(data$time,"%Y-%m-%d %H:%M:%S")), 
             aes(x=as.POSIXlt(time)$sec, y=z))
sp <- sp + geom_point()
sp <- sp + facet_wrap( ~ DayHrMin, scale="free_x")
plot(sp)

这会生成以下图表:

enter image description here

关于r - 绘制每毫秒的时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32758498/

相关文章:

Azure 和绘图数据

python - 在 Pandas 中添加数据框

r - 如何命名时间序列对象中的列?

r - 绘制带有 x 轴偏移量的时间戳的条形图

r - 绘制 SVM 分类图时出错

r - Ubuntu 16.04 : fatal error: X11/Xlib. h: 没有那个文件或目录

r - 在 R 中绘制带有多个参数的函数

r - 将文本与 R 中可变大小的图对齐

jquery - Shiny 的removeUI选择器意外地删除了父div

datetime - 使用哪个 R 时间/日期类和包?