Фильтрация данных в Shiny путем нажатия на точку данных графика - PullRequest
0 голосов
/ 30 октября 2018

Я хочу отфильтровать данные, щелкнув по точкам данных графика в Shiny, как у нас в powerbi. я разработал приборную панель в powerbi, я хочу иметь такой же эффект в блестящей, например, если я щелкаю точку данных графика на блестящей приборной панели, остальные графики должны развернуться в ответ на эту точку, я построил полную приборную панель в блестящей панели, но мне нужно добавить эти функции. также можно развернуть несколько точек данных, например, если я хочу узнать о продажах John (datapoint) за февраль (datapoint).

1 Ответ

0 голосов
/ 30 октября 2018

В пользовательском интерфейсе вы должны добавить, щелкнуть, дважды щелкнуть мышью или навести курсор:

 plotOutput("plot1", click = "plot_click")

А на сервере будут вводиться $ plot_click, координаты X и Y

Вот блестящее объяснение: https://shiny.rstudio.com/articles/plot-interaction.html

И я написал для вас простой пример:

library(shiny)
library(ggplot2)
library(MASS)

ui<- shinyUI(
       fluidPage(
                plotOutput("grafica", hover="clickGrafica"),    
                tableOutput("miverbatini")                      
        )
)
server<- shinyServer(function(input,output) {

        output$grafica <- renderPlot({

                ggplot(mpg,aes(x=cty, y=hwy)) +   
                        geom_point()
        })

        output$miverbatini <- renderTable({  
                nearPoints(mpg,input$clickGrafica, threshold = 10)  # near points 20  
        })
})
shinyApp(ui, server)
...