1
在Shiny頁面上,我注意到在給定的tabPanel上,所有renderPlot()語句的圖都是同時顯示的,而不是一個接一個地顯示。 即使當我在這些renderPlot之間添加Sys.sleep(n)時...它只是簡單地渲染渲染,但renderPlot()輸出不會按其執行順序顯示。我希望他們能夠一個接一個地顯示,並提供用戶進度條來指示哪個繪圖正在繪製。謝謝。Shiny中兩個renderPlot()的順序
在Shiny頁面上,我注意到在給定的tabPanel上,所有renderPlot()語句的圖都是同時顯示的,而不是一個接一個地顯示。 即使當我在這些renderPlot之間添加Sys.sleep(n)時...它只是簡單地渲染渲染,但renderPlot()輸出不會按其執行順序顯示。我希望他們能夠一個接一個地顯示,並提供用戶進度條來指示哪個繪圖正在繪製。謝謝。Shiny中兩個renderPlot()的順序
UI
tabPanel
(
sidebarLayout
(
sidebarPanel
(
fileInput('dataSource', 'Upload Data',accept = c('text/csv','text/comma-separated-values','text/tab-separated-values','text/plain','.csv','.tsv'),multiple=TRUE)
),
mainPanel
(
fluidRow(column(width = 3, style = "background-color: transparent;", class = "well",plotOutput("comp1", height = 300,width = 300)),
column(width = 3, style = "background-color: transparent;", class = "well",plotOutput("comp2", height = 300,width = 300))),
tags$hr()
)
)
)
服務器
values <- reactiveValues(df_data = NULL)
observeEvent(input$dataSource, { values$df_data <- read.csv(input$dataSource$datapath)})
Comp1 <- reactive({
plComp1 <- eqComp1(values$df_data [-(1:2)]))))
})
Comp2 <- reactive({
plComp2 <- eqComp2(values$df_data [-(1:2)]))))
})
output$comp1 <- renderPlot({
withProgress(message = 'Plotting in progress ...', value = 0, {
for (i in 1:15) {
incProgress(1/15)
Sys.sleep(0.5)
}
plot([email protected]_data[,1], Comp1())
})
})
output$comp2 <- renderPlot({
withProgress(message = 'Plotting in progress ...', value = 0, {
for (i in 1:15) {
incProgress(1/15)
Sys.sleep(0.5)
}
plot([email protected]_data[,1], Comp2())
})
})
怎麼樣一些示例代碼? –
在這裏,我正在一個接一個地繪製兩個情節......他們只是一次出現,並不像我期望的那樣。我想要進度條顯示第一個進度條,然後一旦第一個繪製出第二個進度條顯示,然後出現第二個圖。無論出於何種原因,它不允許我發佈超過特定字符的字符長度,以便將代碼添加爲答案。 – Ali