我正在寻找一种有效的方法来绘制不同对象的颜色不同的时间x,y,z,以查看对象随时间的接近程度。
plot3D::line3D
与add = TRUE
一起使用,但是它不是很优雅。这是一个有效的示例代码:
data$object_id <- factor(data$object_id)
library(plot3D)
for(tr in unique(data$object_id)) {
lines3D(data$x[data$object_id == tr], data$y[data$object_id == tr], data$z[data$ba object_id ll == tr], add = T, col = data$object_id[data$object_id == tr])
}
示例数据:
data <- data.frame(object_id = c(1, 1, 2, 2), t = c(0, 1, 0, 1), x = c(0, 1, 1, 0), y = c(0, 1, 1, 0), altitude = c(0, 1, 1, 0))
所需结果:在给定时间上由不同对象跟踪的路径以及指示当前航向的箭头(由加入最后两个已知位置确定)。
在时间t = 0处,这将不产生任何结果或产生屈服点。在t = 1时,这将产生2条线(彼此之间)不同的颜色:每个对象一种颜色。
2D等效项是ggplot2::geom_path
,它使用group
参数完成所有繁重的工作,该参数通过分组变量将所有路径连接起来。