D3:在等值线图上设置比例

时间:2018-01-07 12:26:41

标签: javascript d3.js

我在网上最黑暗的角落里寻找了一个小时,但是我的问题没有找到令人满意的答案,或者确实是一个令人满意的演示。

我正在尝试修改适用US unemployment choropleth map的M博斯托克D3 scale chromatic。我很难过。我无法修改脚本以使用我的数据。

我的值介于2,000到150,000之间。我想设置十个'桶'如下:

[2000, 3000, 4000, 5000, 10000, 15000, 20000, 30000, 50000, 100000]

我如何修改以下脚本,以便在输入数字时正确显示我的颜色?

var x = d3.scaleLinear()
    .domain([1, 10])
    .rangeRound([600, 860]);

var color = d3.scaleThreshold()
    .domain(d3.range(2, 10))
    .range(d3.schemeBlues[9]);

我已经知道'rangeRound'会影响页面上图例的位置。除此之外,我被困住了。

谢谢。

1 个答案:

答案 0 :(得分:0)

我的问题的答案如下:

var myDomain = [10000, 15000, 20000, 30000, 50000, 75000, 100000, 140000]

var x = d3.scaleLinear()
    .domain(myDomain)
    .rangeRound([500, 860]);

var color = d3.scaleThreshold()
    .domain(myDomain)
    .range(d3.schemeOranges[8]);

归功于Gerardo Furtado。以这种方式修改剧本的一个意想不到的后果是,传说现在搞砸了并且不成比例。我有posted a separate question,我强调了这个问题。