我正在尝试在D3中读取一个csv文件,并尝试构建具有2个属性的堆叠条形图,在csv文件中,我不知道特定属性存在多少个唯一值。因此,根据独特属性的数量,我需要使用许多不同的颜色来绘制堆叠的条形图。
在D3或javascript中,给定整数n
如10或15,有什么方法可以得到不同的颜色吗?
答案 0 :(得分:1)
您可以尝试以下方法:
function generatePallete(n) {
const scale = t => d3.interpolateSinebow(t * 0.85);
return d3.range(n).map(i => scale(i / n))
}
您可以将d3.interpolateSinebow
替换为任何其他顺序刻度。我将t
乘以0.85
是因为d3.interpolateSinebow
是循环的,并且开始到结束的颜色是相同的。
以下是生成的货盘的示例: