2016-07-14 180 views
3

我有大约10个从ggplot转换的密谋图在我的闪亮的应用程序,这是每10秒刷新一次。 Plotly可以很好地进行刷新,但是会显示错误太多的开放设备。密谋图显示错误太多闪亮的开放设备

我的代码如下(短路到只显示一个曲线图):

server.R

pullData是函数,从数据库中提取数据。

library(lubridate) 
library(shinyjs) 
library(ggplot2) 
library(plotly) 
server <- function(input, output, session) { 


d <- reactive({ 
    invalidateLater(10000, session) 
    pullData() %>% filter(!is.na(time)) 
}) 

output$Run <- renderPlotly({ 
pdf(NULL) 
ggplotly(ggplot(d(), aes(x = as.POSIXlt(time) , y = mile)) + 
    geom_point() + 
    theme_bw() + 
    xlab('Time') + 
    ylab('mile')) 
}) 

ui.R

library(shinydashboard) 
library(shiny) 
library(shinyjs) 
library(plotly) 

ui <- dashboardPage(

    dashboardHeader(title = "Analytics DashBoard") 
    ,skin = 'green' 
    ,dashboardSidebar(
     tags$head(
     tags$style(HTML(" 
         .sidebar { height: 90vh; overflow-y: auto; } 
         ") 
    ) 
    ), 
#  sidebarSearchForm(label = "Search...", "searchText", "searchButton"), 
     sidebarMenu(


     , menuItem("Real Time Graphs", tabName = "RealTimeG", icon = icon("cog")) 


    ) 

    ) 


    ,dashboardBody(
    tabItems(
    ,tabItem(
     tabName = "RealTimeG" 


     ,fluidRow(
     box(
     title = "total Run Time" 
     ,plotlyOutput("Run") 
     , width = 6 
     ) 
     ) 
    ) 
)) 

是什么问题?以及如何解决它?

回答

3

我有同样的问题。我使用renderPlotly函数中的dev.off()解决了这个问题。尝试做这样的事情:

utput$Run <- renderPlotly({ 
pdf(NULL) 
g<-ggplotly(ggplot(d(), aes(x = as.POSIXlt(time) , y = mile)) + 
geom_point() + 
theme_bw() + 
xlab('Time') + 
ylab('mile')) 
dev.off() 
g 
}) 

貌似闪亮的创建/打开(不知道),新的图形设备的每一个情节刷新时间。呦可以通过在您的闪亮应用程序中打印dev.list()来检查此问题。几次刷新后你会得到这样的东西:

RStudioGD  png  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf 
     2   3   4   5   6   7   8   9  10  11 
    pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf 
    12  13  14  15  16  17  18  19  20  21 
    pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf 
    22  23  24  25  26  27  28  29  30  31 
    pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf  pdf 
    32  33  34  35  36  37  38  39  40  41 
    pdf  pdf  pdf  pdf  pdf 
    42  43  44  45  46 
+0

谢谢你,它的工作! –