我正在编写一个闪亮的应用程序,该应用程序将按部门显示按付款日期排列的“付款的HighChart”列。在非反应式设置中,这是通过将数据集传递到列表中,将列表传递到高字符行中的add_series_list
中以及完成的堆叠柱形图来完成的。在反应式设置中,这不会生成图表。
这是图表的服务器端调用。临时数据集是根据当前月份的数据集进行设置,分组和汇总的。
已创建反应式数据列表。然后通过下一段代码进行设置。由于以下原因,我没有进行响应式操作(尽管已使用reactive({})
进行了响应):
https://shiny.rstudio.com/reference/shiny/1.0.5/reactiveValues.html
最后一位应输出图表,该位基于:
Highcharter stacked column groupings not using hchart()
output$dailyRevenueChart = renderHighchart({
tempData <- reactive({
currentMonthdata() %>%
group_by(PaymentDate, LCO_Indicator) %>%
summarise(GrossAmount = sum(GrossAmount))
})
data_list <- reactiveValues()
data_list <-
tempData() %>%
group_by(LCO_Indicator) %>%
do(data = list_parse2(.[, c('PaymentDate', 'GrossAmount')])) %>%
rename(name = LCO_Indicator) %>%
mutate(type = 'column') %>%
list_parse()
highchart() %>%
hc_xAxis(categories = data$PaymentDate) %>%
hc_add_series_list(isolate(data_list))%>%
#hc_add_series_list(data_lst2)%>%
hc_plotOptions(column = list(
dataLabels = list(enabled = TRUE),
stacking = "normal",
enableMouseTracking = TRUE))
})
这是一个示例数据集:
currentMonthData <- tibble::tribble(
~PaymentDate, ~LCO_Indicator, ~TransActionCount, ~Slaes, ~SalesFreight, ~SalesTax, ~ServiceLabor, ~ServiceMaterials, ~GrossAmount,
"2019-01-01", "Credit", 4L, -189, 0, -3.6, 0, 0, -192.6,
"2019-01-01", "Equipment", 9L, 12286, 0, 250.66, 0, 0, 12536.66,
"2019-01-01", "Equipment", 2L, 9.9, 0, 0, 0, 0, 9.9,
"2019-01-02", "Supply", 2L, 658, 0, 39.48, 0, 0, 697.48,
"2019-01-02", "Supply", 190L, 0, 0, 0, 9523.62, 2287.9, 12269.38,
"2019-01-02", "Equipment", 76L, 26682.18, 5, 1274.05, 0, 0, 24639.73
)
UI部分:
fluidRow(
column(12,
tabsetPanel(type = "tabs",
tabPanel("Daily Revenue", highchartOutput("dailyRevenueChart"))
)
)
我希望UI中有堆积的列highchart输出。我已经测试了输出中的基本图表,以验证UI组件是否正确设置。
答案 0 :(得分:0)
在完成此设置后,我发现了有关此基本问题的答案。
在模块的UI区域中,高位图未使用该模块的ns组件开头。
正确的UI行应为:
tabPanel("Daily Revenue", highchartOutput(ns("dailyRevenueChart")))
您会注意到ns封装了highchartOutput的名称。堆叠不正确,但是现在不解决为什么不显示的问题。