为什么我的d3.json调用返回一个字符串而不是一个数字?

时间:2016-06-02 08:26:37

标签: javascript json d3.js

D3新手。

我正在进行d3.json调用,在地图上放置多个点,并希望通过源数据中的值设置点的半径值。据我了解,要做到这一点,我需要将值(d.properties.natscale)作为数字返回,而不是字符串(它是源数据中的数字)。但我不断得到一根绳子。

d3.json('mdg-output.json', function(data){
  var populatedPlaces = topojson.feature(data, data.objects.mdg_place)
  var cityPoints = svg.selectAll('circle').data(populatedPlaces.features)
  var  radius = d3.scale.linear().domain([0,1000]).range([0,110]);
  cityPoints.enter()
    .attr('r', function(d) {
            // console.log(d.properties)
            return radius(+d.properties.natscale)
    })
        .attr('fill', 'red');
}

我尝试使用一元+运算符将输出转换为thisthis链接中的数字,但它会被返回为一个字符串。请参阅以下内容中的r值:

<path d="M122.37999457545584,717.0883851792267m0,4.5a4.5,4.5 0 1,1 0,-9a4.5,4.5 0 1,1 0,9z" r="80" fill="red"></path>

我在这里做错了什么,我该如何解决?

0 个答案:

没有答案