我的代碼旨在繪製簡單的圓圈。數據(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