upon running the below script, I get two grouped bar plots and an infoBox. I want to make it such that when I click on any bar in the red group, I should get the sum of all the bars in that group in the infobox above. Similarly for the Green group besides. That means the infobox will have only two values, one for the red and one for green category. I have the script and I shall give the snap too.
library(shiny)
library(shinydashboard)
library(ggplot2)
library(plotly)
ui <- dashboardPage(
dashboardHeader(title = "Sankey Chart"),
dashboardSidebar(
width = 0
),
dashboardBody(
fluidRow(
column(10,
uiOutput('box1'),
tags$br()),
tags$br(),
column(10,
box(title = "Case Analyses",status = "primary",solidHeader =
T,width = 1050,height = 452,
plotlyOutput("case_hist"))
))
)
)
server <- function(input, output)
{
output$case_hist <- renderPlotly(
{
iris$iris_limits <- cut(iris$Sepal.Length, c(1,3,6,9))
iris$ID <- factor(1:nrow(iris))
gg <- ggplot(iris, aes(x=ID, y=Sepal.Length, fill=iris_limits)) +
geom_bar(stat="identity", position="dodge") +
facet_wrap(~iris_limits, scales="free_x", labeller=label_both) +
theme_minimal() + xlab("") + ylab("Sepal Length") +
theme(axis.text.x=element_blank())
ggplotly(gg)
}
)
output$box1 <- renderUI({
tagList(
infoBox("Total Cases", "a" , icon = icon("fa fa-briefcase"))
)
})
}
shinyApp(ui, server)