colUI <- function(id) { ns <- NS(id) tagList(highchartOutput(ns("colchart"))) } colServer <- function(id, dat, name= "Inputs", ytitle="Number of Entries", maintitle="", caption="", filename="Inputs") { moduleServer(id, function(input, output, session) { ns <- session$ns if(length(unique(dat$Country))==1){ output$colchart <- renderHighchart({ dat |> hchart(type="column", hcaes(x = Input_data, y = Observations), name=name) |> hc_plotOptions( series = list( showInLegend = FALSE, pointFormat = "{point.y}", colorByPoint = TRUE, dataLabels = list(enabled = TRUE) ) ) |> # Axis hc_yAxis( title = list(text = ytitle), labels = list(format = "{value}") ) |> hc_xAxis(categories = dat$Input_data) |> # Titles, subtitle, caption and credits hc_title(text = maintitle) |> #hc_subtitle(text = paste("Total", total, sep = " ")) |> hc_caption(text = caption) |> hc_credits( enabled = TRUE, text = "LaNubia Consulting", href = "https://www.lanubia.com", style = list(fontSize = "12px") ) |> hc_exporting( enabled = TRUE, # always enabled filename = filename ) }) } if(length(unique(dat$Country))>1){ output$colchart <- renderHighchart({ # print(dat) input.summary<-dat input.summary.summ <- input.summary |> group_by(Input_data) |> summarise(Observations = sum(Observations)) |> arrange(desc(Observations)) input.summary.drilldown <- input.summary |> group_nest(Input_data) |> mutate( id = Input_data, type = "column", data = map(data, mutate, name = Country, y = Observations), data = map(data, list_parse) ) tt <- tooltip_table(c("No. of Observations(Input)"), c("{point.Observations}")) hchart( input.summary.summ, "column", hcaes( x = Input_data, y = Observations, name = Input_data, drilldown = Input_data ), name = "Segment view", colorByPoint = TRUE ) |> hc_drilldown(allowPointDrilldown = TRUE, series = list_parse(input.summary.drilldown)) |> hc_tooltip(pointFormat = tt, # "{point.name} {point.pop}" useHTML = TRUE, valueDecimals = 0) |> hc_yAxis(title = list(text = "Number of observations")) |> hc_xAxis(title = "Segment") |> hc_credits(enabled = TRUE, text = "LaNubia Data Science", href = "https://www.lanubia.com/") |> hc_exporting(enabled = TRUE, # always enabled filename = "Input Summary") |> hc_title(text = "Observations by segment") |> hc_subtitle(text = "Click on the bar to view details by country") }) } }) }