I was trying to create a drill-down from pie chart to bar chart.
What I planned: with a click on the categories of the pie chart, it would return a corresponding bar chart.
I tried several times, but it did not work out with my code. However, if I switched the pie chart to a bar chart, then the drill down from bar chart to bar chart works.
I have attached a sample code for reference. Any help or advice would be much appreciated.
Code:
ui <- fluidPage(
plotlyOutput("category"),
plotlyOutput("sub_category")
)
server <- function(input, output) {
output$category <- renderPlotly({
sales %>%
count(category) %>%
plot_ly(labels = ~category, values = ~n, type = 'pie', source = "category")
})
output$sub_category <- renderPlotly({
d <- event_data("plotly_click", source = "category")
if (is.null(d)) return(NULL)
sales %>%
filter(category %in% d$x) %>%
count(sub_category) %>%
plot_ly(x = ~sub_category, y = ~n, color = ~sub_category, source = "category", type = 'bar')
})
}
shinyApp(ui, server)