Colors d3色标-与多种颜色呈线性关系?

Colors d3色标-与多种颜色呈线性关系?,colors,d3.js,Colors,D3.js,我试着创建一个有点像量化刻度的东西,但是像线性色标一样工作 当我尝试将多种颜色放入线性比例时,它似乎只在前两种颜色之间进行缩放 我想要多种颜色,比如量化比例,但在这些颜色之间会褪色。我不确定这是否可行 //red and green works ok var color = d3.scale.linear() .range(['red','green']); //doesn't work - only red and green show var color = d3.

我试着创建一个有点像量化刻度的东西,但是像线性色标一样工作

当我尝试将多种颜色放入线性比例时,它似乎只在前两种颜色之间进行缩放

我想要多种颜色,比如量化比例,但在这些颜色之间会褪色。我不确定这是否可行

//red and green works ok
var color = d3.scale.linear()
            .range(['red','green']);

//doesn't work - only red and green show
var color = d3.scale.linear()
            .range(['red','green', 'blue']);


//red green and blue show, however it doesn't fade between the colors
var color = d3.scale.quantize()
            .range(['red','green', 'blue']);

您必须使用域“pivot”值,如:

d3.scale.linear()
    .domain([0, pivot, max])
    .range(['red', 'green', 'blue']);
从:

虽然连续比例通常在其域和范围中各有两个值,但指定两个以上的值会生成分段比例。例如,要创建一个发散颜色比例,该比例在白色和红色(负值)之间插值,白色和绿色(正值)之间插值,请执行以下操作:


谢谢Anto,我现在身处一个不同的世界,还没有机会尝试一下,但这听起来像是我的一个好主意+1。随着D3第4版的上映,由于API文档的移动,你的链接已经断开了。@KonradViltersten这是人们不应该发布链接作为答案的一个很好的原因。@JasTonAChair我同意你的观点。但是,有些链接是需要依赖的(MSDN、jQuery API等),但必须经过非常仔细的考虑。即使如此,提供最低限度的自我维持内容也是最安全的。此外,在我看来,规则应该是“提供链接的人负责维护其有效性”。编辑后引用文档中的相关描述和示例
var color = d3.scaleLinear()
    .domain([-1, 0, 1])
    .range(["red", "white", "green"]);

color(-0.5); // "rgb(255, 128, 128)"
color(+0.5); // "rgb(128, 192, 128)"