Сбросить график с помощью tabPanel UI - PullRequest
0 голосов
/ 06 февраля 2019

Вот мой код:

library(shiny)
library(shinydashboard)
library(ECharts2Shiny)
library(ggplot2)
library(dplyr)
library(shinyjs)

demo <- data.frame(c(5,0,0,1,20,25,14,1,53),
               c(1,1,1,2,12,22,5,1,25),
               c(6,0,0,3,26,38,19,2,65),
               c(0,0,0,0,5,3,0,0,6),
               c(0,1,1,0,1,6,0,0,7),
               c(6,0,1,3,32,47,19,2,78),
               c(2,0,0,1,8,13,10,1,33),
               c(0,0,0,0,0,9,2,0,4),
               c(1,0,0,1,6,4,6,0,23))

names(demo) <- c("M", "F", "O", "B", "C", "Re", "Vi", "Ac", "Co")
row.names(demo) <- c("Az","Bh", "Bi", "Ch", "Ha", "Ka", "N.G", "Ra", "Su") 


ui <- shinyUI(dashboardPage(
    dashboardHeader(title = "reset example"),
    dashboardSidebar(tags$img(src="bar.PNG", style ="text-align:center;")),
    dashboardBody(h3("example"),
        mainPanel( shinyjs::useShinyjs(),
             tabsetPanel(type = "tab",
             tabPanel(h5("1"), infoBox("a,1,1")),
             tabPanel(h5("2"), infoBox("b,2,2")),
             tabPanel(h5("Block wise"), 
    loadEChartsLibrary(), 
    tags$div(id="demo1", 
    style="width:100%;height:500px;"), 
                      deliverChart(div_id="demo1"), 
                      downloadButton("downloadData", "Download Data"),
                      actionButton("reset","reset plot")))))))

server <- shinyServer(function(input,output){
observeEvent(input$reset,{
shinyjs::runjs("location.reload();")
})

output$downloadData <- downloadHandler(
filename = function() {
  paste('data-', Sys.Date(), '.csv', sep='')
},
content = function(con) {
  write.csv(demo, con)
})

renderBarChart(div_id = "demo1", grid_left = '1%', direction = 
               "vertical", data = demo)})

shinyApp(ui,server)

Я хотел сбросить график после выбора функций.Нажав кнопку « сбросить график », вы перейдете на 1-ю вкладку « 1 » на панели вкладок вместо того, чтобы восстановить график по умолчанию.

enter image description here

Любая помощь в этом вопросе очень заметна.Нажатие на « сбросить график » не должно перенаправлять на вкладку « 1 », и оно должно сбросить график до значения по умолчанию.

1 Ответ

0 голосов
/ 06 февраля 2019

Просто измените сброс вашего события на следующее:

observeEvent(input$reset,{ renderBarChart(div_id = "demo1", grid_left = '1%', direction = "vertical", data = demo) })

Ваш код сбрасывает весь блеск, вы хотите сбросить график, только если я правильно понял.Обратите внимание, что ваше реальное приложение потребует других настроек, если вы не опубликовали свой реальный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...