I am trying build a reactive bar chart in shiny app. I have a small table named stats
Team wins loss draws
Arsenal 533 120 256
Chelsea 489 201 153
Liverpool 584 186 246
I want to build a bar chart which displays the wins, loss and draws based on the team selected. I'm not able to create a reactive bar chart for this. Can someone please suggest a code for this or guide me in a right direction?
Here we go:
library(highcharter)
library(shiny)
library(dplyr)
df = data.frame(
team = c("Arsenal", "Chelsea", "Liverpool"),
wins = c(533, 489, 584),
loss = c(120, 201, 186),
draws = c(156, 153, 246)
)
# Define UI for application that draws a histogram
ui <- fluidPage(
# Application title
titlePanel("Football Analysis"),
sidebarLayout(
sidebarPanel(
selectizeInput("teams", "Teams", choices = unique(df$team), selected = unique(df$team)[1])
),
mainPanel(
highchartOutput("plot")
)
)
)
server <- function(input, output) {
reactivedf <- reactive({
filtereddf <- df %>%
dplyr::filter(team == input$teams)
filtereddf
})
output$plot <- renderHighchart({
highchart() %>%
hc_add_series(type = "column", reactivedf()$wins, name = "wins") %>%
hc_add_series(type = "column", reactivedf()$loss, name = "loss") %>%
hc_add_series(type = "column", reactivedf()$draws, name = "draws") %>%
hc_xAxis(labels = list(enabled = FALSE)) %>%
hc_title(text = input$teams)
})
}
# Run the application
shinyApp(ui = ui, server = server)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.