我想拿一个d3 color schemes,但制作它的粉彩版本。我不想让浅颜色太亮,也不想让暗颜色太暗。
目前有:
intColor = d3.scaleOrdinal()
.domain(locations.map(d => d.id))
.range(d3.quantize(t => d3.interpolateSpectral(t * .8 + .1), locations.length))
但是t函数(* .8向右拉,+ .1向左拉)是不可控的。我想要的东西,我可以说,使用d3.interpolateRdYlGn与一定的亮度范围。
发布于 2021-10-06 21:42:53
最后,我将颜色分离为LCH分量,并为Colorness和Lightness指定了特定值
intColor = d3.scaleOrdinal()
.domain(internalLocations.map(d => d.id))
.range(d3.quantize(t => {
const {l, c, h} = d3.lch(d3.interpolateSpectral()(t))
return d3.lch(80, 30, h) // 80 is high lightness and 30 is low colorness.
}, locations.length))
https://stackoverflow.com/questions/69400340
复制相似问题