javascript – 如何使用d3生成尽可能多的颜色?

我正在使用d3.js构建饼图,并可视化大数据集.在图表上可以显示超过137个项目.我使用这个功能只有10种颜色.
d3.scale.category10().range()

通过探索其他选项:
https://github.com/mbostock/d3/wiki/Ordinal-Scales

d3.scale.category20().range()

var chart = nv.models.pieChart()
    .x(function(d) {
        return d.key
    })
    .y(function(d) {
        return d.y
    })
    .color(d3.scale.category10().range())
    .width(width)
    .height(height);

如何使用d3生成尽可能多的颜色?

解决方法

我有同样的问题,所以我写了一个小工具来生成感知不同颜色的LOTS: category color generator.

该工具生成一个颜色列表.然后,您可以使用该列表,如:

color = d3.scale.ordinal()
    .domain(YOUR_DATA_CATEGORIES)
    .range(["#30c514","#9321ff",...]);

还有一个generalised version如果两个亮度还不够.

这里有一些pre-generated example colour sets.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...