在d3.js中,有一些示例可以从外部json文件获取数据。但是这些示例没有展示json的内容,所以我真的想看看它是如何工作的。
我有一个名为test.json的json文件,它看起来像:
[
{"a":"-1.14","b":"4.14"},
{"a":"-0.13","b":"1.38"},
{"a":"-4.19","b":"1.43"},
{"a":"-0.21","b":"3.34"}
]
我想用这些数据制作一个散点图。
在d3.js脚本中,我迄今为止添加了以下内容。
var width = 400;
var height = 400;
var x = d3.scale.linear()
.domain ([-5, 5])
.range([0, width]);
var y = d3.scale.linear()
.domain ([-5, 5])
.range([0, height]);
var chart = d3.select("body").append("svg")
.attr("width", width+70)
.attr("height", height+70)
.attr("class", chart)
.append("g")
.attr("transform", "translate(30, 30)");
chart.selectAll("xline")
.data(x.ticks(11))
.enter().append("line")
.attr("x1", x)
.attr("x2", x)
.attr("y1", 0)
.attr("y2", height)
.style("stroke", "#ccc");
chart.selectAll("yline")
.data(y.ticks(11))
.enter().append("line")
.attr("y1", y)
.attr("y2", y)
.attr("x1", 0)
.attr("x2", width)
.style("stroke", "#ccc");
如果我使用这个数据集:
var dataset = [ [-1, -3], [2, 4], [3, -4], [-3, 1]];
我添加了这个,它运行得很好。
chart.selectAll("scatter-dots")
.data(dataset)
.enter().append("circle")
.attr("cx", function (d) { return x(d[0]); } )
.attr("cy", function (d) { return y(d[1]); } )
.attr("r", 10)
.style("opacity", 0.6);
我想知道如果我使用外部JSON文件,我应该如何更改调用数据的这一部分。非常感谢有人可以教教我!非常感谢。
d3.json()
方法的语法已经发生了变化。D3版本4:d3.json("some_source_url", function(response) { ... }
D3版本5:d3.json("some_source_url").then(function(response) {...}
- Everett