使用d3.js v4加载大型json文件时出现问题

时间:2019-05-08 14:28:40

标签: javascript json d3.js

当我尝试使用d3.json(d3.js v4)加载一个小的json文件时,我没有问题地加载它。但是,当我尝试加载包含5,036个条目的较大文件时,似乎文件只是部分加载,这使我在分散生成的散点图中的轴混乱了。

我的代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">

    <script src="http://d3js.org/d3.v4.min.js"></script>-->

    <title></title>

    <style type="text/css">
    </style>
</head>
<body>
</body>

<script type="text/javascript">
//d3.json("test_json_small.json", function(error, json) {
d3.json("test_json_large.json", function(error, json) {
    if (error) return console.warn(error);

    curr_data = json.nodes;
    console.log(d3.max(json.nodes, function (d) { return d.posx; }));
    console.log(d3.max(json.nodes, function (d) { return d.posy; }));
    console.log(d3.min(json.nodes, function (d) { return d.posx; }));
    console.log(d3.min(json.nodes, function (d) { return d.posy; }));

});
//Downstream code to generate axis, plot, data, etc.
/*
var xScale = d3.scaleLinear().range([0, width]);
var yScale = d3.scaleLinear().range([height, 0]);

var xAxis = d3.axisBottom(xScale);
var yAxis = d3.axisLeft(yScale);
*/

</script>
</html> 

当我指定一个由10个元素组成的小json文件时,会在控制台中得到以下输出(这是我期望的结果):

26.4137007365
9.91588072476
-17.2945742046
-0.222771036376

但是,在加载完整的json文件时,最大值和最小值没有意义:

9.9872339424
9.99461717677
-0.00210396968253
-0.00282843924648

因此,我的坐标轴范围不应该是应该的。我没有显示绘图的结果,但是轴的有效范围是0到10。任何帮助将不胜感激。

0 个答案:

没有答案