Vega-Lite使用resolve后config.legend.columns失效,如何设置图例每行条目数?
解决Vega-Lite中resolve配置后图例columns不生效的问题
当使用resolve配置合并图例后,顶层config.legend.columns不会自动作用于合并后的共享图例,这是因为合并后的图例实例需要单独配置列数,而非依赖全局通用配置。
修复步骤:
- 如果你通过
resolve.legend.color: "shared"合并了颜色图例,不要在单个图层的encoding.color.legend里设置columns,而是在顶层的encoding.color.legend中显式指定columns: 3,或者在config里针对颜色图例单独配置:"config": { "legend": { "color": { "columns": 3 } } } - 或者直接在顶层共享图例的定义中设置:
"encoding": { "color": { "field": "...", "type": "...", "legend": { "columns": 3, "orient": "bottom" } } }
原理说明:
使用resolve合并图例时,Vega-Lite会创建一个新的共享图例实例,这个实例不会继承全局config.legend.columns的默认值,必须针对该图例类型(如color、size)单独配置列数,才能让图例按指定列数换行显示。
内容的提问来源于stack exchange,提问作者Greg Bartlett
相关产品推荐
相关产品推荐

