Как создать кнопку «Действие» для сброса выделения в гистограмме ECharts2Shiny - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу сбросить выделение на диаграмму.Вот мой код:

library(shiny)
library(shinydashboard)
library(ECharts2Shiny)

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 <- mainPanel(tabPanel(h5("Block wise"), loadEChartsLibrary(), 
tags$div(id="demo1", style="width:100%;height:500px;"), deliverChart(div_id= 
"demo1"),downloadButton("downloadData", "Download Data")))
server <- shinyServer(function(input,output){
             renderBarChart(div_id = "demo1", grid_left = '1%', direction = 
"vertical", data = demo)})
shinyApp(ui,server)

Как создать кнопку Сброс , чтобы отменить выбор атрибутов?Также мне нужна помощь, чтобы загрузить данные в формате Excel CSV.Кнопка «Загрузить данные» выскакивает окно, которое запрашивает сохранение файла, но не позволяет нам выбрать «Тип файла», который находится чуть ниже панели ввода «Имя файла».

Заранее спасибо

1 Ответ

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

Сброс графика может быть выполнен с помощью shinyjs для выполнения кода js: location.reload();

У кнопки downloadButton должен быть серверный компонент для сохранения данных в указанном формате файла.

library(shiny)
library(shinydashboard)
library(ECharts2Shiny)
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 <- mainPanel( shinyjs::useShinyjs(),
  tabPanel(h5("Block wise"), loadEChartsLibrary(), 
          actionButton("reset","reset plot"),
          tags$div(id="demo1", style="width:100%;height:500px;"), 
          deliverChart(div_id="demo1"),
          downloadButton("downloadData", "Download Data")))
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...