如何在Shiny的Highcharts图表标题中显示选中的输入值
解决Shiny中Highchart标题动态显示选中经理姓名的问题
你的问题出在错误地将textOutput("selected")赋值给了var——textOutput是用于UI层输出文本的函数,它返回的是Shiny组件对象,不是实际的经理名称字符串,所以无法直接在标题里解析。
直接用input$name来拼接标题文本即可,具体修改后的代码如下:
output$selected <- renderText({ paste(input$name) }) output$hcontainer8 <- renderHighchart({ # 直接使用input$name获取选中的经理姓名,无需通过textOutput manager_name <- input$name hc2 <- df_clean %>% filter(df_clean$ManagerName == manager_name) hchart(hc2, "lollipop", hcaes(name = Employee_Name, low = Absences ),name = "Absences") %>% hc_xAxis(type = "category") %>% hc_yAxis(labels = list(format = "{value}")) %>% # 用paste拼接动态标题 hc_title(text = paste("Employee Absences under", manager_name), align = "center") %>% hc_subtitle(text = "with mean value from each department group by Performance Score", align = "center") })
如果想要更简洁的字符串拼接,也可以使用glue包(需先安装并加载):
# 在server脚本开头加载glue包 library(glue) # 标题部分替换为 hc_title(text = glue("Employee Absences under {manager_name}"), align = "center")
这样就能根据用户选中的输入,动态将经理姓名显示在图表标题里了。
内容的提问来源于stack exchange,提问作者Muhammad Rafif
相关产品推荐
相关产品推荐

