我正在尝试按照说明在 R 3.3.2 中获得交互式 3D 散点图这里并研究 Rtsne 3d 功能这里。我尝试将动态颜色与RColorBrewer
任何 3D 颜色绘图包一起使用,此处选择scatter3d
。我没有找到任何被调用的包,scatter3d
所以我不确定该函数到底在哪里。我以 root 身份收到以下通知install.packages('scatter3d')
。我已经做了install.packages('rgl')
package ‘scatter3d’ is not available (for R version 3.3.2)
伪代码示例[本例不需要]
我显示以下代码是因为我不确定如何进入scatter3d
Linux
## Startup
# Mx <- [choose any matrix here]
N <- length(Mx)
perplex <- 0
library('Rtsne')
# https://www.codeproject.com/Tips/788739/Visualization-of-High-Dimensional-Data-using-t-SNE
# https://cran.r-project.org/web/packages/Rtsne/Rtsne.pdf
rtsne_out <- Rtsne(as.matrix(Mx), perplexity = perplex,
dims=3,
pca=TRUE,
check_duplicates=FALSE
)
## Fails because missing package scatter3d
library('RColorBrewer')
library('rgl') # scatter3d
colors <- brewer.pal(n=N, name="Dark2")
# TODO scatter3d not available in R 3.3.2
scatter3d(x=rtsne_out$Y[,1],y=rtsne_out$Y[,2],z=rtsne_out$Y[,3],
surface=FALSE, grid = FALSE, ellipsoid = TRUE,
surface.col = colors)
测试罗德里戈的答案
Rodrigo的成功点: 做install.packages('car')
的是一个回归包,而不是一个数据包。
我在函数内调用以下函数。完成该功能后,交互scatter3d
关闭,这是有问题的,因为我无法再使用可视化交互窗口,因为运行时间很短
scatter3d(x=rtsne_out$Y[,1],y=rtsne_out$Y[,2],z=rtsne_out$Y[,3],
surface=FALSE, grid = FALSE, ellipsoid = TRUE,
surface.col = colors)
我尝试通过以下方式返回函数内的可视化对象但未成功
result <- scatter3d(...)
return(result)
按键暂停在函数内没有帮助,在函数外也没有帮助;脚本继续运行,可视化结束,窗口不保持打开状态
result
cat ("Press [enter] to continue") # http://stackoverflow.com/a/18746519/54964
line <- readline()
#readline(prompt="Press [enter] to continue") # http://stackoverflow.com/a/18746519/54964
par(ask=TRUE) #http://r.789695.n4.nabble.com/Pause-on-graphics-td845261.html
之前做scatter3d
也没有帮助。
操作系统:Debian 8.5
R:3.3.2