You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shiny应用使用plot_click/nearPoints仅展示指定字段的实现方法

解决方案

你要实现仅展示指定字段的需求,只需对nearPoints()返回的结果做字段筛选即可,操作非常简单:

核心修改步骤

  1. 替换你原有代码里的output$print模块,对返回结果用select()选中需要的字段即可,你需求里的冠军姓名对应数据集中的winner字段,夺冠次数对应winningNumber字段,同时可以新增distinct()去重,避免分组后重复行导致返回冗余数据:
output$print = renderPrint({
  nearPoints(
    reactive_data(),             
    input$plot_click,   
    maxpoints = 1,      
    threshold = 1000    
  ) %>% 
    # 按需选中字段,也可以自定义列名更易读
    select(冠军姓名 = winner, 夺冠次数 = winningNumber) %>% 
    distinct()
})
  1. (可选优化)你当前的reactive_data用mutate计算夺冠次数,会保留该冠军所有历史参赛行,同一个冠军对应多条重复统计结果,建议改用summarise直接生成去重后的统计结果,提升运行效率:
reactive_data<-reactive({
 req(input$sel_tournament)
 df<- gslam %>% 
   filter(tournament %in% input$sel_tournament)%>%
   group_by(winner,tournament)%>% 
   summarise(winningNumber=n(), .groups = "drop") %>% 
   arrange(winner)
 df
 })

修改后点击图表只会返回你需要的两个字段,不会展示其他冗余字段。

内容的提问来源于stack exchange,提问作者A Ebrahimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:54:03