R Shiny HTMLWidget for interactive 3D-histograms

眉间皱痕 提交于 2019-12-11 17:21:11

问题


I would like to include a 3D dynamic (i.e. one can change its perspective just by moving the plot) histogram widget in a R Shiny application.

Unfortunately I didn't find any until now.

So far the results of my searches: with threejs (e.g. here on CRAN and there on GitHub) one can use many different representations (scatterplots, surfaces, etc.) but no 3D histogram. plot3D and plot3Drgl don't have any R Shiny counterpart.

Unless something already exists my intention is to create an HTMLWidget from one of the sub-libraries of vis.js, namely graph3d.

What are your views on this issue?

Best regards,

Olivier


回答1:


Many thanks, DSGym. I didn't know this library.

In my initial message (now amended) I actually forgot to mention the dynamic feature, i.e. the ability to change the perspective of the plot just by moving it with the mouse, like with vis.js-graph3d.

It seems plots from highcharter cannot do that, or am I mistaken?

[EDIT]: I just checked with Shiny: it is static.




回答2:


It's possible with plot3Drgl. Here is an example.

library(plot3Drgl)
library(shiny)

options(rgl.useNULL = TRUE)

ui <- fluidPage(
  rglwidgetOutput("myWebGL")
)

server <- function(input, output) {
  save <- options(rgl.inShiny = TRUE)
  on.exit(options(save))
  output$myWebGL <- renderRglwidget({
    try(rgl.close())
    V <- volcano[seq(1, nrow(volcano), by = 5), 
                 seq(1, ncol(volcano), by = 5)]  # lower resolution
    hist3Drgl(z = V, col = "grey", border = "black", lighting = TRUE)
    rglwidget()
  })  
}

shinyApp(ui, server)


来源:https://stackoverflow.com/questions/56689216/r-shiny-htmlwidget-for-interactive-3d-histograms

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!