Как подключить Shiny plot нажмите на сайт - PullRequest
0 голосов
/ 21 февраля 2019

Можно ли открыть в браузере новую вкладку со ссылкой, указанной после нажатия на график?Ниже приведен мой код, сейчас у меня есть пара ссылок, чтобы щелкнуть эту работу в разделе «Виджеты», и у меня есть вывод, когда я щелкаю график в основном разделе «Панель инструментов».

## app.R ##
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(title = "CN Basic dashboard"),
  ## Sidebar content
  dashboardSidebar(
    sidebarMenu(
      menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
      menuItem("Widgets", tabName = "widgets", icon = icon("th")),
      menuItem("About", icon = icon("info-circle"), tabName = "about")
    )
  ),
  ## Body content
  dashboardBody(
    tabItems(
      # First tab content
      tabItem(tabName = "dashboard",
              fluidRow(
                box(plotOutput("plot1", height = 250,click="plot_click")),

                box(
                  title = "Controls",
                  sliderInput("slider", "Number of observations:", 1, 100, 50)
                )
              ),
              verbatimTextOutput("plot_clickinfo")
      ),

      # Second tab content
      tabItem(tabName = "widgets",
              h2("Link1"),
              tags$a(href="www.rstudio.com", "Click here!"),
              h2("Link2"),
              tags$a(HTML('<a href="https://www.w3schools.com/" target="_blank">Visit W3Schools!</a>'))

      ),

      tabItem(tabName = "about",
              #includeHTML("www/about.html")
              h2("Here is information about stuff that's important")
      )
    )
  )
)

server <- function(input, output) {
  set.seed(122)
  histdata <- rnorm(500)

  output$plot1 <- renderPlot({
    data <- histdata[seq_len(input$slider)]
    hist(data)
  })

  output$plot_clickinfo <- renderPrint({
    cat("Click:\n")
    str(input$plot_click)
  })
}

shinyApp(ui, server)

В конечном итоге я просто хочунажать на сюжет, и это приводит меня на сайт.

1 Ответ

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

Это должно сделать:

  observeEvent(input$plot_click,{
    browseURL("https://www.google.com")
  })
...