# echarts4r : how to map a third continuous variable to a custom color scale (without changing the points size)

## echarts4r : how to map a third continuous variable to a custom color scale (without changing the points size)

Contents

Problem Description:

In the following reproducible example I would like to map the year value to a continuous color scale (with all the points with a manually selected and fixed size).
The points are not of the expected color…

``````library(echarts4r)

d <- data.frame(
x = rnorm(30),
y = rnorm(30),
year = rep(2000:2014, 2)
)

d |>
e_chart(x) |>
e_scatter(y, symbol_size = 10, bind = year, legend = FALSE) |>
e_visual_map(year, color = c("#8DD3C7", "#FFFFB3", "#BEBADA", "#FB8072")) |>
e_tooltip()
``````

## Solution – 1

Looks like a bug: the `year` column is not in the series object of the `echart` object. Here is a way to include it and the code to produce the plot:

``````library(echarts4r)

d <- data.frame(
x = rnorm(30),
y = rnorm(30),
year = rep(2000:2014, 2)
)

dd <- lapply(purrr::transpose(d), function(row) list(value = unname(unlist(row))))

ECHART <- d |>
e_charts(x) |>
e_scatter(y, symbol_size = 10, legend = FALSE) |>
e_visual_map(year, dimension = 2, inRange = list(color = c("#8DD3C7", "#FFFFB3", "#BEBADA", "#FB8072"))) |>
e_tooltip()

ECHART\$x\$opts\$series[]\$data <- dd
ECHART
``````
Rate this post
We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.