3

I've made a map in d3 that is tinted my values, so I've got:

var color= d3.scale.quantize().range(["#FAE3C3", "#EBAD95","#DB7768", "#CC403A", "#BC0A0C"]);

How does one find the actual limits of the scale, so I can create the map key? (I'd want it to update if I fed in new data).

4

1 回答 1

3

您可以像这样取回 bin 的下限和上限:

var bounds = color.invertExtent('#FAE3C3')

图例的一个可能解决方案是遍历颜色数组并调用color.invertExtent每种颜色。

如果您想要更整洁的断点,我认为您必须自己定义它们并将它们设置为域,例如,如果您的最小值为 2,最大值为 59,您可以执行以下操作:

color= d3.scale.quantize()
    .domain([0, 60])
    .range(["#FAE3C3", "#EBAD95","#DB7768", "#CC403A", "#BC0A0C"]);

所以它maximum - minumum可以被颜色的数量整除。

于 2014-05-16T19:30:43.540 回答