我使用rgl
包创建了一些不同颜色的3D立方体。我的下一步是将3D绘图嵌入ggraphics
包中的gWidgets
设备,但我不知道如何实现它。有没有办法通过gWidgets
或其他包来实现?我看过this similar post,没有人回答这个问题,只有评论@ jverzani。有帮助吗?提前谢谢!
我的代码:
library(rgl)
library(scatterplot3d)
library(gWidgets)
options(guiToolkit="RGtk2")
df<-data.frame(x=c(1,2,3,4),
y=c(2,4,6,8),
z=c(3,6,9,12),
value=c(33,43,75,21))
clr <- df$value/max(df$value)
f <- colorRamp(c("green", "yellow", "purple", "red"))
## 3D PLOT
for(i in 1:length(df$x)){
shade3d(translate3d(scale3d(cube3d(col=rgb(f(clr[i])/255),alpha=0.15 ),
10.0, 10.0, 2.5),df$x[i],df$y[i],df$z[i]))
}
window <- gwindow("TEST", width = 800, height= 600, visible = FALSE)
group <- ggroup(cont = window, expand = TRUE)
loadBtn <- gbutton("display", cont = group)
addHandlerChanged(loadBtn, handler = function(h,...){
sudwin<-gwindow("3D",visible = TRUE)
dev <- ggraphics(cont=subwin)
#### DO NOT KNOW HOW TO DO NEXT...
})
visible(window)<-TRUE