d3使用Nest,使用值时出错

时间:2019-01-28 11:27:37

标签: javascript d3.js

npm

我想用这段代码来显示 var margin = {top:20, right:20, bottom:20, left:20}, width = 500 - margin.right - margin.left, height = 500 - margin.top - margin.bottom, radius = width/2; //arcos var arc = d3.arc() .outerRadius(radius - 20) .innerRadius(0); //posiçaão do centroide para o texto var labelArc = d3.arc() .outerRadius(radius - 50) .innerRadius(radius - 50); var dataSuicides //pie var pie = d3.pie() .sort(null) .value(function(d){return d.value["suicides_no"]}); //console.log(JSON.stringify(dataSuicides)); //svg var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height) .append("g") .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"); //manipulação dos dados do ficheiro function manipulation (){ d3.csv("master.csv", function(error, data) { if (error) throw error; data.forEach(function(d){ d.sex = d.sex; d.suicides_no = +d.suicides_no; }); //console.log(data[0]); var dataSuicides = d3.nest() .key(function(d){return d.sex; }) .rollup(function(v){ var total = d3.sum(v, function (d) { return d.suicides_no; }); return {"suicides_no": +total} ;}) .entries(data); console.log(JSON.stringify(somatorio)); var g = svg.selectAll(".arc") .data(pie(data)) .enter().append("g") .attr("class", "arc"); g.append("path") .attr("d", arc) .style("fill", "blue"); g.append("text") .attr("transform", function(d) { return "translate(" + labelArc.centroid(d) + ")"; }) .attr("dy", ".35em") .text(function(d){return d.data.sex;}); }); } 上的csv主文件中的数据。为了处理文件,我使用了pie chart建议的nest。 在这一行:

d3

返回我需要制作图表的值(我想显示有多少女性自杀并有多少男性自杀)。但是在这一行中使用它:

return {"suicides_no": +total}

无法识别,甚至无法在屏幕上打印任何内容。这就是问题。

使用的文件是此页面:https://www.kaggle.com/russellyates88/suicide-rates-overview-1985-to-2016?fbclid=IwAR3afG71_4z6Y2kUrNhfBUviZtqsbgf-AmXEbsAbR67fbMcQ0JLmdPZmLag

0 个答案:

没有答案