我對D3.js的學習和演示感到非常興奮。而且我被卡在數據導入部分。我已經嘗試了一個月,並且找不到解決方案。如何正確導入數據到d3js
如果數據被簡單地粘貼在代碼中,那麼腳本工作得很好。但是一旦我嘗試從腳本外部導入數據。該網頁不會顯示任何內容。
有人可以友好地給我一隻手嗎?
這裏是我的腳本和數據:
工作版本:
<!DOCTYPE html>
<html>
<head>
<charset=utf-8">
<title>Successful Data Comination In Bar Chart</title>
<script src="http://d3js.org/d3.v3.min.js"></script>
</head>
<body>
<script>
var dataset = [{"name":"AAA", "age":10},{"name":"BBB", "age":20},{"name":"CCC", "age":30}];
var canvas = d3.select("body").append("svg")
.attr("width", 500)
.attr("height", 500);
canvas.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("width", function (d) { return d.age*10; })
.attr("height", 48)
.attr("y", function (d,i) { return i*50; })
.attr("fill", "gray");
canvas.selectAll("text")
.data(dataset)
.enter()
.append("text")
.attr("fill", "white")
.attr("x", 2)
.attr("y", function (d,i) { return i*50 +27; })
.text(function (d) { return d.name + " " + d.age; });
</script>
</body>
</html>
不工作的版本:
<!DOCTYPE html>
<html>
<head>
<charset=utf-8">
<title>Testing Pie Chart</title>
<script src="http://d3js.org/d3.v3.min.js"></script>
</head>
<body>
<script>
var dataset = [];
d3.json("mydata.json", function(data) {
dataset = data;
var canvas = d3.select("body").append("svg")
.attr("width", 500)
.attr("height", 500);
canvas.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("width", function (d) { return d.age*10; })
.attr("height", 48)
.attr("y", function (d,i) { return i*50; })
.attr("fill", "gray");
canvas.selectAll("text")
.data(dataset)
.enter()
.append("text")
.attr("fill", "white")
.attr("x", 2)
.attr("y", function (d,i) { return i*50 +27; })
.text(function (d) { return d.name + " " + d.age; });
});
</script>
</body>
</html>
JSON數據名爲 「mydata.json」 是這樣的:
[
{"name": "AAA", "age": 10},
{"name": "BBB", "age": 20},
{"name": "CCC", "age": 30}
]
I a m新的Stackoverflow,並試圖編輯它,但我並不完美。如果您對代碼感到困惑,請隨時告訴我們。我會解釋,因爲我真的想解決這個問題。非常感謝!
感謝您的支持!敏銳地期待你的回覆!
http://stackoverflow.com/questions/17077931/d3-samples-in-a-microsoft-stack?answertab=active#tab-top –
感謝Adam。那麼它是一個服務器/網頁瀏覽器的問題?由於Web瀏覽器無法讀取本地數據文件(在我的情況下是mydata.json文件)? – Counter10000
roippi的回答是正確的;上面的鏈接有特定的窗口說明,不應該太棘手。 –