Estoy trabajando en una leyenda de color continua usando d3.interpolateViridis. Tengo un problema al mostrar los valores de marca de la leyenda. Quiero mostrar mi min (en un extremo) y max (en otro extremo) (valores de dominio) en la leyenda. Intenté cambiar el valor de los ticks pero no hubo ayuda.
Aquí está mi fragmento de código:
//scale var colorScale2 = d3.scaleSequential(d3.interpolateViridis).domain([0, 0.38]); //other code var legendscale = d3.scaleLinear() .range([0, legendheight - margin.top - margin.bottom]) .domain(colorscale.domain()); // scale tick var legendaxis = d3.axisRight() .scale(legendscale) .tickSize(16) .ticks(2);Además, he compartido el enlace de violín JS donde se marca como 0.0 y 0.2 (se supone que este es el valor máximo: 0.38).
https://jsfiddle.net/shru90/e42vcLy0/30/
Nota: mi valor mínimo es 0 y el máximo es 0,38 (que puede variar según los datos)
De forma predeterminada, el eje pone marcas en valores agradables y redondos. Si hay valores específicos para los que desea tener marcas de verificación, puede configurar tickValues :
d3.axisRight() .scale(legendscale) .tickSize(16) .tickValues(legendscale.domain());