簡體   English   中英

閃亮的主面板輸出為空白; 改為使用RStudio查看器更新

[英]Shiny mainPanel Output Blank; RStudio viewer updates instead

當我運行閃亮的應用程序時,mainPanel不會渲染process_map圖像。 但是,在RStudio Viewer中,將渲染圖像。 我已經研究了這個問題,感覺問題出在process_map()調用上,因為其他調用(簡單的ggplot / plot)沒有這些問題。 我認為outputPlot / renderPlot不適合process_map()函數。 但是,我無法確定正確的調用或無法解決的功能。

這是一個可重現的示例。 預先感謝您的專業知識。

#POTENTIAL PACKAGE REQUIREMENTS
#install.packages("bupaR")
#install.packages("edeaR")
#install.packages("eventdataR")
#install.packages("processmapR")
#install.packages("processmonitR")
#install.packages("xesreadR")
#install.packages("petrinetR")


library(bupaR)
library(shiny)

#Create a data frame
key<-rep("DISCHARGEDATE", 5)
time<-seq(as.POSIXct("2017-09-20 12:07:00",format="%Y-%m-%d %H:%M:%S"),
by="min",length.out = 5)
patient<-seq(1,5)

df<-as.data.frame(cbind(key=as.character(key),time=as.character(time),
patient=as.character(patient)), stringsAsFactors = FALSE)
df$time<- as.POSIXct(df$time, format="%Y-%m-%d %H:%M:%S")

#create a simple log
s.Log<-bupaR::simple_eventlog(eventlog=df, 
                              case_id="patient",
                              activity_id="key",
                              timestamp="time") 
#shiny
ui <- fluidPage(

mainPanel(
         plotOutput("process_map")
      )
   )

server <- function(input, output) {

   output$process_map <- renderPlot({

     process_map(s.Log)

   })
}

shinyApp(ui = ui, server = server)}

process_map給出類grViz的輸出。 因此,你必須使用grVizOutputuirenderGrVizserverDiagrammeR包。 我修改了您的代碼,如下所示,它提供了process_map圖像。

   library(bupaR)
   library(shiny)
   library(DiagrammeR)
   #Create a data frame
   key<-rep("DISCHARGEDATE", 5)
   time<-seq(as.POSIXct("2017-09-20 12:07:00",format="%Y-%m-%d %H:%M:%S"),
             by="min",length.out = 5)
   patient<-seq(1,5)

   df<-as.data.frame(cbind(key=as.character(key),time=as.character(time),
                           patient=as.character(patient)), stringsAsFactors = FALSE)
   df$time<- as.POSIXct(df$time, format="%Y-%m-%d %H:%M:%S")

   #create a simple log
   s.Log<-bupaR::simple_eventlog(eventlog=df, 
                                 case_id="patient",
                                 activity_id="key",
                                 timestamp="time") 
   #shiny
   ui <- fluidPage(

     mainPanel(
       #plotOutput("process_map")
       grVizOutput("process_map")
     )
   )

   server <- function(input, output) {

     output$process_map <- renderGrViz({

       process_map(s.Log)

     })
   }

   shinyApp(ui = ui, server = server)

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM