我试图在D3地图上使用colorbrewer比例,并且出于某种原因,它只返回最亮的值,这使得地图看起来非常褪色。我不确定问题是什么。想法?
这就是我使用比例的方式:
var colorScale = d3.scale.linear()
.range(colorbrewer.OrRd[8])
.domain([0, 16000]);
如果你想看一下,这里是地图的链接:
http://www.pitt.edu/~kac232/PittsburghMap/map_yuji.html
提前多多欣赏。
答案 0 :(得分:2)
您希望使用d3.scale.quantize()
将连续域转换为离散范围;你是从一个数字到一个匹配的特定颜色。线性刻度假设连续范围。阅读有关quantize in the documentation的更多信息,或参阅an example in action。
做你想做的事的合适方式是:
var colorScale = d3.scale.quantize()
.range(colobrewer.OrRd[8])
.domain([0, 16000]);
答案 1 :(得分:0)
我希望我知道 这是如何工作的,但我只知道为什么它有效。我最后指定了三个十六进制值而不是使用colorbrewer,而我使用的是0,8000,16000.D3负责其余部分。