1

我正在尝试随着时间的推移绘制对象在 3D 空间(x、y 和 z 坐标)中的位置,以便确定对象的路径。

我发现很难想象这将如何工作。我可以在 3D 空间中绘制 (x,y,z) 坐标,但是如何可视化时间的进程?

我正在使用 R,并附在 R 中 scatterplot3d() 函数的结果下方。

您能否指导我如何可视化数据集。此外,如果您可以为这种类型的可视化建议任何其他工具,这将对我有所帮助。

[图片] https://www.dropbox.com/s/6douprzlllfhd3c/Screenshot%202014-11-10%2019.14.19.png?dl=0

【样本数据集】

Time    X   Y   Z

1   245.00  198.00  247.00
2   247.00  197.50  246.50
3   249.00  198.20  245.20
5   250.25  200.50  243.75
6   249.20  202.80  242.40
7   251.00  201.75  241.50
8   249.40  199.20  241.80
9   252.80  196.20  242.20
10  256.60  200.80  242.20
4

2 回答 2

4

对于基于浏览器的交互式动画,请查看animation包:

library(animation)
df<-matrix(rnorm(90),ncol=3)
saveHTML({
    for (i in 1:nrow(df)) {
    pt<-df[i,]
    scatterplot3d(pt[1],pt[2],pt[3],
    xlim=c(-4,4),ylim=c(-4,4),zlim=c(-4,4)
      )}
})

编辑:包括library电话


或者这个,它使用 OP 的数据并绘制进化路径。

library(animation)
library(scatterplot3d)
saveHTML({
  for (i in 2:nrow(df)) {
    with(df[1:i,],scatterplot3d(X,Y,Z,type="l",
         xlim=range(df$X),ylim=range(df$Y),zlim=range(df$Z)))
    }
})
于 2014-11-10T18:10:14.050 回答
2

扩展评论(调用您的示例df)。

library(rgl)
with(df,lines3d(X,Y,Z))
with(df[1,],points3d(X,Y,Z,size=7,col="red"))
with(df[-1,],points3d(X,Y,Z,col="blue"))
axes3d()
title3d(xlab="X",ylab="Y",zlab="Z")

此代码生成数据的可旋转 3D 图。下面是一个屏幕截图。红点是起点。

于 2014-11-10T18:06:57.763 回答