D3.js 如何使用d3量程?

D3.js 如何使用d3量程?,d3.js,D3.js,在d3中,是否可以使用自定义颜色范围值为对象着色 我有两个问题: 一个是有价值观: [ { "area": "amsterdamn", "KPIValue": 98.46 }, { "area": "brunei", "KPIValue": 95.98 } ] 另一个是拥有范围: [ { "lowerRange": 0, "upperRange": 90, "sn": 1, "color": "331fcf"

在d3中,是否可以使用自定义颜色范围值为对象着色

我有两个问题: 一个是有价值观:

[
  {
    "area": "amsterdamn",
    "KPIValue": 98.46
  },
  {
    "area": "brunei",
    "KPIValue": 95.98
  }
]
另一个是拥有范围:

[
  {
    "lowerRange": 0,
    "upperRange": 90,
    "sn": 1,
    "color": "331fcf"
  },
  {
    "lowerRange": 90,
    "upperRange": 100,
    "sn": 2,
    "color": "004F00"
  }
]
如何在使用值的范围内使用颜色填充路径

应该做这项工作

// define a variable thresholds as an array of threshold values
// using the lower range
var thresholds = range.map(function(rec) { return rec.lowerRange})

// define a variable colors as an array of color values
var colors = range.map(function(rec) { return rec.color})

// define the scale
var t = d3.scale.quantile().domain(thresholds).range(colors)

// use it
t(KPIValue) // returns the corresponding color

下面是一个向上投票的

但如何传递路径名示例:函数(d,I){return color(I)}),因为颜色取决于路径名。当我通过d时,我得到的是整个d3路径对象,而不是当前路径。请在希望使用色阶的地方共享代码。