我正在尝试使用d3
lib
制作饼图。我首先尝试使用csv
文件。它工作正常
这是我的代码
https://plnkr.co/edit/GQVptaAULzHVRYsQCycG?p=preview
但是
当我使用json
文件而不是csv
文件时,它不显示pie
图表
这是我的代码 https://plnkr.co/edit/OYH6TYPPJgshaSzPbN1e?p=preview
d3.json("data.json", function(d) {
// alert(d)
d.population = +d.population;
return d;
}, function(error, data) {
if (error) throw error;
var arc = g.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arc");
arc.append("path")
.attr("d", path)
.attr("fill", function(d) { return color(d.data.age); });
arc.append("text")
.attr("transform", function(d) { return "translate(" + label.centroid(d) + ")"; })
.attr("dy", "0.35em")
.text(function(d) { return d.data.age; });
});
文档
答案 0 :(得分:0)
获取json的回调函数设置不同(旧样式)。
在我获得代码工作后,我调查并确认了如何发送回调。在没有任何错误的良好请求传递(null,数据)。错误请求仅传递(错误)
以下是它的外观
d3.json("data.json", function(error, data) {
if (error) throw error;
var arc = g.selectAll(".arc")
.data(pie(data))
.enter().append("g")
.attr("class", "arc");
arc.append("path")
.attr("d", path)
.attr("fill", function(d) {
return color(d.data.age);
});
arc.append("text")
.attr("transform", function(d) {
return "translate(" + label.centroid(d) + ")";
})
.attr("dy", "0.35em")
.text(function(d) {
return d.data.age;
});
});