MeteorJS使用D3时出错

Error in MeteorJS using D3

本文关键字:出错 D3 使用 MeteorJS      更新时间:2023-09-26

在有关地图数据的代码中获取异常

错误

排队任务中出现异常:TypeError:data.map不是函数

var drawCircles = function (update) {
    var data = parseInt(CarBeands.findOne().percent);
    console.log(data);
    **console.log(pie(data));**
    var circles = svg.selectAll('.arc')
        .data(data)
        .enter()
        .append("g")
        .attr("class", "arc").append("path")
        .attr("d", arc)
        .attr("fill",function (d) {return color(d.data); });
    console.log(pie(data));
};

方法

CarBeands.find().observe({  
    added: function () {  
        x = CarBeands.find().fetch();  
        x.forEach(function(perce){  
            var san = parseInt(perce.percent);  
            console.log(san);  
            count += 1;  
        })  
        drawCircles(true);  
    }
});

在此代码饼图(数据)中显示相同的错误

DataBase using MongoDB
{
    "percent" : "65",
},
{
    "percent" : "65",
},
{
    "percent" : "65",
}

您的data在这里是一个值:您获取一个元素,并使用.percent获取它的值。

map适用于数组。

d3js通常期望一个值数组作为输入。

data.map()不是函数,因为data不是阵列

要获得阵列,您需要使用

var data = MyCollection.find().fetch().map(function (item) {return item.percent})

这会得到一个百分比的数组。