0

我有下面的闪亮应用程序,我在其中使用crosstalk包来创建图表和表格之间的交互。我想问一下是否可以同时选择多个条形以使表格恢复到初始形式,以及如何取消选择一个条形而不必单击另一个条形?

library(shiny)
library(ggplot2)
library(plotly)
library(DT)
library(crosstalk)

ui <- fluidPage(
  plotlyOutput("plt"),
  DT::dataTableOutput("dt")
)

server <- function(input, output) {
  df <- data.frame(dose=c("D0.5", "D1", "D2"),
                   len=c(4.2, 10, 29.5))
  df2 <- data.frame(dose=c("D0.5", "D1", "D2"),
                    siz=c(2, 10, 2.5))
  
  shared_df <- SharedData$new(df, key = ~dose, group = "group")
  shared_df2 <- SharedData$new(df2, key = ~dose, group = "group")
  
  output$plt<-renderPlotly({
    # Basic barplot
    p <- ggplot(data=shared_df, aes(x=dose, y=len)) +
      geom_bar(stat="identity")
    ggplotly(p)
  })
  
  output$dt<-DT::renderDataTable({
    shared_df2
  }, server = FALSE)
}
shinyApp(ui, server)
4

1 回答 1

1

当只选择了一根柱子而表中显示了一行时,按住 shift 键并单击其他未选中的柱子将其选中,相关的数据行将显示在表中。选择所有条形后,将显示所有行。

此外,您可以选择和取消选择表格中的任何位置,以根据选择/未选择的数据行显示选择/未选择的条形图。

于 2021-03-07T22:58:07.123 回答