echarts4r技术问题:如何将第三个连续变量映射到自定义色阶(不改变点大小)
问题解决:echarts4r散点图颜色映射不生效
原代码中e_scatter的bind参数并非用于关联颜色映射字段,导致e_visual_map无法正确将year值映射到色阶。只需调整散点图的参数配置,让year字段与颜色属性关联即可解决问题。
修正方案1:将year作为系列字段传入
直接把year作为e_scatter的第三个参数,让它成为视觉映射的关联字段:
library(echarts4r) d <- data.frame( x = rnorm(30), y = rnorm(30), year = rep(2000:2014, 2) ) d |> e_chart(x) |> e_scatter(y, year, symbol_size = 10, legend = FALSE) |> e_visual_map(year, color = c("#8DD3C7", "#FFFFB3", "#BEBADA", "#FB8072")) |> e_tooltip()
修正方案2:用encode明确指定颜色映射字段
通过encode参数直接绑定颜色对应的字段,逻辑更清晰:
d |> e_chart(x) |> e_scatter(y, symbol_size = 10, legend = FALSE, encode = list(color = "year")) |> e_visual_map(year, color = c("#8DD3C7", "#FFFFB3", "#BEBADA", "#FB8072")) |> e_tooltip()
两种方案都能让散点按照year值映射到指定的连续色阶,同时保持所有点的大小固定为10。
内容的提问来源于stack exchange,提问作者Gilles San Martin
相关产品推荐
相关产品推荐

