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

Power BI中R timevis自定义图表:垂直滚动与列宽调整问题

解决timevis在Power BI中垂直滚动及分组列宽度问题

问题背景

使用R的timevis包开发Power BI自定义可视化图表,用于展示团队/项目的实际与计划时间线对比。但实际场景中团队和项目列表较长,当前布局空间利用率低,需要实现垂直滚动功能或调整分组列(团队/项目列)的宽度。此前尝试添加options = list(verticalScroll = TRUE)未生效,不知如何在R中正确应用vis.js的配置项。

解决方案

1. 实现垂直滚动

timevis的配置参数直接映射vis.js的选项,但垂直滚动功能需要配合固定高度设置才会生效(默认高度为自适应内容,不会触发滚动)。需在timevis()的options参数中同时指定:

  • height:设置可视化区域的固定高度(如"600px")
  • verticalScroll:设为TRUE启用垂直滚动

2. 调整分组列宽度

通过vis.js的groupWidth选项可以直接设置分组列的宽度,支持像素值(如"200px")或百分比(如"30%"),同样在options参数中配置。

修改后的示例代码

timevis( 
  data = data.frame( 
    start = c("2023-04-09", "2023-04-09", "2023-04-16", "2023-04-30", "2023-04-16", "2023-05-21", "2023-04-30", "2023-04-16"), 
    content = rep(c("Actual", "Planned"), 4), 
    group = c(4,4,5,5,6,6,7,7) 
  ), 
  groups = data.frame( 
    id = 1:7, 
    content = c("Team 1", "Team 2", "Team 3","Project A", "Project B", "Project C", "Project D"),
    nestedGroups = I(list(4, c(5,6), 7, NA, NA, NA, NA)) 
  ),
  # 配置垂直滚动和分组列宽度
  options = list(
    height = "600px",       # 固定高度触发滚动
    verticalScroll = TRUE,  # 启用垂直滚动
    groupWidth = "250px"    # 调整分组列宽度
  )
)

关键说明

  • 若未设置height,timevis会自动扩展高度以容纳所有分组,此时verticalScroll不会生效,这是之前配置无效的核心原因。
  • groupWidth的取值可根据实际布局需求调整,百分比值会基于可视化容器的总宽度计算。

内容的提问来源于stack exchange,提问作者Natalia M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:52:13