2016-07-14 2 views
3

ggplot에서 변환 된 약 10 개의 플롯 그래프가 10 초마다 반짝이는 내 반짝이는 앱에 있습니다. Plotly는 새로 고침을해도 문제가 없지만 ERROR가 너무 많은 열린 장치를 보여줍니다.플롯 그래프에서 ERROR가 너무 많은 열린 장치를 반짝임으로 표시합니다.

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()을 사용하여 해결했습니다.

플롯을 새로 고침 할 때마다 반짝이는 생성/여는 새 그래픽 장치처럼 보입니다. Yo는 반짝 이는 응용 프로그램에 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

감사합니다. –