如何在Vega中使用Signal切换颜色比例尺与单一颜色显示
解决Vega可视化中颜色比例尺与单一颜色的切换问题
直接修改fill属性的配置,通过信号表达式调用比例尺函数来实现两种模式的切换:
signals: [ { name: "toggleColor", value: true, bind: {input: "checkbox"} } ] ... marks: [ { type: "symbol", from: {data: "surveys"}, encode: { update: { x: {field: "survey_answer", scale: "xScale"}, y: { field: "survey_item", scale: "yScale"}, fill: { signal: "toggleColor ? scale('colorScale', datum.class) : '#888888'" } } } } ]
说明
- 勾选复选框时(
toggleColor为true),scale('colorScale', datum.class)会调用你定义的colorScale,将class字段的值映射为对应颜色,和原field+scale配置效果完全一致。 - 取消勾选时(
toggleColor为false),所有数据点会统一显示为#888888,你可以把这个值替换成任意想要的单一颜色。
内容的提问来源于stack exchange,提问作者Nick5741
相关产品推荐
相关产品推荐

