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
相关产品推荐
相关产品推荐

