我的代码旨在绘制简单的圆圈。数据(cx,cy,r和颜色)位于json文件中。所以我想提取它们来绘制,但我得到这个错误:TypeError:e是未定义的。我的错误在哪里?只有svg
元素出现,但没有任何关于我的圈子。我试图简化代码,但似乎我的代码不读取我的json文件。D3.js无法从json文件渲染我的圈子
这是我的JSON文件:
[{
"jsonCircles": [
{"cx": 30, "cy": 30, "r": 20, "color" : "red"},
{"cx": 70, "cy": 70, "r": 20, "color" : "red"},
{"cx": 110, "cy": 100, "r": 20, "color" : "red"}
]
}]
而且我的代码:
var svgContainer = d3.select("body").append("svg")
.attr("width", 200)
.attr("height", 200);
d3.json("circles.json", function(error, data) {
if (error) alert(error);
var myCircles = svgContainer.selectAll("circle")
.data(data.jsonCircles)
.enter()
.append("circle");
var circleAttributes = myCircles
.attr("cx", function (d) { return d.cx; })
.attr("cy", function (d) { return d.cy; })
.attr("r", function (d) { return d.r; })
.style("fill", function(d) { return d.color; });
});
由于提前,
你在哪儿申报'圈子? –
btw。你的JSON无效 - 第3个圆圈“”而不是“r” –
另外你的JSON在第二个和第三个圆圈中有“y”而不是“cy”属性。 – Paul