使用d3

时间:2015-05-08 19:18:20

标签: d3.js color-space hsl

这个问题来自https://stackoverflow.com/questions/29589186/generating-a-perceptually-accurate-colour-wheel-in-javascript

我正在尝试创建12种颜色,这些颜色在感知上彼此大致均匀分布。

d3提供HSL,因此d3.hsl( (i/12)*360, 0.5, 0.5 )

但是,对于绿黄色的颜色,这不太适用。

d3似乎提供了HCL和LAB,但我看不出如何使用它们。

我可以使用任何数学方法,还是应该实现自己的HSL色调传递函数?

1 个答案:

答案 0 :(得分:2)

我不熟悉d3,但假设它使用典型的CIELab约定L: 0::255, a: -100::100, b: -100::100

你可以尝试

d3.lab( 128, 100 * Math.sin(2 * Math.PI * i/12), 100 * Math.cos(2 * Math.PI * i/12) )

这应该创造一个视觉上均匀的色轮