R:如何嵌入由“创建的3D绘图”;rgl";变成;gWidgets图形设备“;?

R:如何嵌入由“创建的3D绘图”;rgl";变成;gWidgets图形设备“;?,r,gwidgets,rgl,R,Gwidgets,Rgl,我使用rglpackage创建了一些不同颜色的三维立方体。我的下一步是将3D绘图从gWidgets包嵌入到ggraphics设备中,但我不知道如何实现它。是否有一种通过gWidgets或其他包实现的方法?我读过,没有人回答这个问题,只回答了一个问题comment@jverzani. 有什么帮助吗?提前谢谢你 我的代码: library(rgl) library(scatterplot3d) library(gWidgets) options(guiToolkit="RGtk2") df<

我使用
rgl
package创建了一些不同颜色的三维立方体。我的下一步是将3D绘图从
gWidgets
包嵌入到
ggraphics
设备中,但我不知道如何实现它。是否有一种通过
gWidgets
或其他包实现的方法?我读过,没有人回答这个问题,只回答了一个问题comment@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
库(rgl)
库(散点图3D)
库(gWidgets)
选项(guiToolkit=“RGtk2”)

dfHi,使用
shinny
shinyrgl
包可以解决这个问题。抱歉,同样的评论:要正确完成这项工作,似乎需要Gtk和openGL之间的某种连接,该连接暴露在R进程中。我不知道这一点,尽管它可能在那里。它可以通过传递静态文件和使用
gimage
来解决,但我怀疑这就是你想要的,因为你真的必须在交互中进行黑客攻击。