Mar*_*ark 3 3d plot r rgl shiny
我正在寻找在我的闪亮应用程序中实现3D交互式绘图,到目前为止我一直在使用情节.然而,情节有一个主要缺点,渲染时速度极慢.我已经完成了检查,尽管涉及大量数据集,但更新的outplot $ plot < - renderPlotly({.....})和plotlyOutput("plot")的整个创建时间不到0.5秒.多年来这是一个众所周知的问题,但似乎仍然是最新的.
因此,我正在寻找一个名为car的软件包,也因为它有很多选项,其中一些我特别想要在其他软件包中没有.有关汽车包装的信息如下:http://www.sthda.com/english/wiki/amazing-interactive-3d-scatter-plots-r-software-and-data-visualization问题是它是单独渲染的弹出窗口而不是闪亮的应用程序内部,我想把它放在里面,甚至更好,添加一个按钮,允许用户将其作为弹出窗口,但只有当被问及时.但是,我无法弄清楚如何将虫子塞进实际的闪亮页面.
这是我的最小示例,其中包含单个文本元素和图形代码(在我的示例中)不断出现在单独的窗口中而不是应用程序中.
install.packages(c("rgl", "car", "shiny"))
library("rgl")
library("car")
library(shiny)
cars$time <- cars$dist/cars$speed
ui <- fluidPage(
hr("how do we get the plot inside this app window rather than in a popup?"),
plotOutput("plot", width = 800, height = 600)
)
server <- (function(input, output) {
output$plot <- renderPlot({
scatter3d(x=cars$speed, y=cars$dist, z=cars$time, surface=FALSE, ellipsoid = TRUE)
})
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
还有这个包,scatterplot3d,但这不是交互式的http://www.sthda.com/english/wiki/scatterplot3d-3d-graphics-r-software-and-data-visualization
并且有一些RGL包但它们具有相同的问题(单独的窗口)并且不提供我正在寻找的选项.
你需要使用一个rglwidget最后一个rgl图并放入一个htmlwidget.它曾经是一个单独的包,但它最近被集成到`rgl.
这是执行此操作的代码:
library(rgl)
library(car)
library(shiny)
cars$time <- cars$dist/cars$speed
ui <- fluidPage(
hr("how do we get the plot inside this app window rather than in a popup?"),
rglwidgetOutput("plot", width = 800, height = 600)
)
server <- (function(input, output) {
output$plot <- renderRglwidget({
rgl.open(useNULL=T)
scatter3d(x=cars$speed, y=cars$dist, z=cars$time, surface=FALSE, ellipsoid = TRUE)
rglwidget()
})
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
产生这个:
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |