将json数据加载到d3js中的数据集 [英] load json data to dataset in d3js

查看:230
本文介绍了将json数据加载到d3js中的数据集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的json文件。它包含一些数据。

  [{\Frequency \:\Building 1 \,\ Data \:[{\Name\:\Medicine \,\Value \:46,\Value1\:26,\Value2 \ :22},{\Name\:\food\,\Value \:32,\Value1\:26,\Value2\ 12}]},{\Frequency \:\Building 2 \,\Data \:[{\Name \:\Medicine \ \\Value \:48,\Value1\:26,\Value2\:23},{\Name\:\food\,\ Value \:34,\Value1\:33,\Value2\:12}]},{\Frequency\:\Building 3 \,\ Data \:[{\Name\:\Medicine \,\Value\:57,\Value1\:22,\Value2 \ :24},{\Name\:\food\,\Value \:42,\Value1\:16,\Value2\ 11}]},{\Frequency \:\Building 4 \,\Data \:[{\Name \:\Medicine \ \\Value \:59,\Value1\:26,\Value2\:33},{\Name\:\food\,\ Value \:44,\Value1\:26,\Value2\:35}]},{\Frequency\:\Building 5 \,\ Data \:[{\Name\:\Medicine \,\Value \:62,\Value1\:26,\Value2 \ :11},{\Name\:\food\,\Value \:48,\Value1\:26,\Value2\ 3}]},{\Frequency \:\Building 6 \,\Data \:[{\Name \:\Medicine \ \\Value \:62,\Value1\:26,\Value2\:21},{\Name\:\food\,\ Value \:47,\Value1 \:26,\Value2\:24}]},{\Frequency\:\Building 7 \ Data \:[{\Name\:\Medicine \,\Value \:58,\Value1\:26,\Value2 \ :22},{\Name\:\food\,\Value \:43,\Value1 \:26,\Value2\ 22}]},{\Frequency \:\Building 8 \,\Data \:[{\Name \:\Medicine \ \\Value \:48,\Value1\:26,\Value2\:2},{\Name\:\food\,\ Value\:34,\Value1\:26,\Value2\:33}]}] 

我想将这个json文件存储到d3.js中的数据集中。或



我已将所有数据都静态添加到我的代码中。我想把这些数据从json文件d3.js可以任何一个给我的例子。



我的预期结果是

  dataset = JSON.parse([{\Frequency \:\Building 1 \,\Data \:[{\\ \\Name \:\Medicine \,\Value \:46,\Value1 \:26,\Value2\:22},{\ Name \:\food\,\Value \:32,\Value1\:26,\Value2\:12}]},{\ Frequency \:\Building 2 \,\Data \:[{\Name\:\Medicine \,\Value \:48, \Value1\:26,\Value2\:23},{\Name\:\food\,\Value\:34,\ Value1 \:33,\Value2\:12}]},{\Frequency \:\Building 3 \,\Data \:[{\\ \\Name\:\Medicine \,\Value \:57,\Value1\:22,\Value2\:24},{\ Name \:\food\,\Value \:42,\Value1\:16,\Value2\:11}]},{\ Frequency \:\Building 4 \,\Data \:[{\Name\:\Medicine \,\Value\:59, \Value1\:26,\Value2\:33},{\Name\:\food\,\Value\:44,\ Value1 \:26,\Value2\:35}]},{\Frequency \:\Building 5 \,\Data \:[{\\ \\Name \:\Medicine \,\Value \:62,\Value1\:26,\Value2\:11},{\ Name \:\food\,\Value \:48,\Value1\:26,\Value2\:3}]},{\ Frequency \:\Building 6 \,\Data \:[{\Name\:\Medicine \,\Value\:62, \Value1\:26,\Value2\:21},{\Name\:\food\,\Value\:47,\ Value1 \:26,\Value2 \:24}]},{\Frequency \:\Building 7 \,\Data \:[{\\ \\Name \:\Medicine \,\Value \:58,\Value1\:26,\Value2 \:22},{\ Name \:\food\,\Value \:43,\Value1\:26,\Value2\:22}]},{\ Frequency \:\Building 8 \,\Data \:[{\Name\:\Medicine \,\Value \:48, \Value1 \:26,\Value2\:2},{\Name\:\food\,\Value\:34,\ Value1\:26,\Value2\:33}]}]); 

我的数据应该是我不知道如何做到这一点可以告诉我如何

 <$ c $ 

c> d3.json(D3json.json,function(error,data){
var datas = data;
})

这里是我的jsfiddle例子:点击这里查看示例

a>



感谢
Vinoth S

解决方案

我正确理解你的问题,你试图动态加载JSON数据,而不是在你的文件中硬编码。



这里有一个例子: http://bl.ocks.org/Jverma/887877fc5c2c2d99be10



一般来说,您必须在之后执行绘图部分您成功加载数据(在d3.json()的回调函数内)


I am having json file like this. It contains some data.

[{\"Frequency\":\"Building 1\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":46,\"Value1\":26,\"Value2\":22},{\"Name\":\"food\",\"Value\":32,\"Value1\":26,\"Value2\":12}]},{\"Frequency\":\"Building 2\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":48,\"Value1\":26,\"Value2\":23},{\"Name\":\"food\",\"Value\":34,\"Value1\":33,\"Value2\":12}]},{\"Frequency\":\"Building 3\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":57,\"Value1\":22,\"Value2\":24},{\"Name\":\"food\",\"Value\":42,\"Value1\":16,\"Value2\":11}]},{\"Frequency\":\"Building 4\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":59,\"Value1\":26,\"Value2\":33},{\"Name\":\"food\",\"Value\":44,\"Value1\":26,\"Value2\":35}]},{\"Frequency\":\"Building 5\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":62,\"Value1\":26,\"Value2\":11},{\"Name\":\"food\",\"Value\":48,\"Value1\":26,\"Value2\":3}]},{\"Frequency\":\"Building 6\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":62,\"Value1\":26,\"Value2\":21},{\"Name\":\"food\",\"Value\":47,\"Value1\":26,\"Value2\":24}]},{\"Frequency\":\"Building 7\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":58,\"Value1\":26,\"Value2\":22},{\"Name\":\"food\",\"Value\":43,\"Value1\":26,\"Value2\":22}]},{\"Frequency\":\"Building 8\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":48,\"Value1\":26,\"Value2\":2},{\"Name\":\"food\",\"Value\":34,\"Value1\":26,\"Value2\":33}]}]

I want to store this json file into dataset in d3.js. or

I have given all data are static into my code. I want to give these data from json file to d3.js can any one give me example.

my expected result is

dataset = JSON.parse("[{\"Frequency\":\"Building 1\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":46,\"Value1\":26,\"Value2\":22},{\"Name\":\"food\",\"Value\":32,\"Value1\":26,\"Value2\":12}]},{\"Frequency\":\"Building 2\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":48,\"Value1\":26,\"Value2\":23},{\"Name\":\"food\",\"Value\":34,\"Value1\":33,\"Value2\":12}]},{\"Frequency\":\"Building 3\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":57,\"Value1\":22,\"Value2\":24},{\"Name\":\"food\",\"Value\":42,\"Value1\":16,\"Value2\":11}]},{\"Frequency\":\"Building 4\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":59,\"Value1\":26,\"Value2\":33},{\"Name\":\"food\",\"Value\":44,\"Value1\":26,\"Value2\":35}]},{\"Frequency\":\"Building 5\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":62,\"Value1\":26,\"Value2\":11},{\"Name\":\"food\",\"Value\":48,\"Value1\":26,\"Value2\":3}]},{\"Frequency\":\"Building 6\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":62,\"Value1\":26,\"Value2\":21},{\"Name\":\"food\",\"Value\":47,\"Value1\":26,\"Value2\":24}]},{\"Frequency\":\"Building 7\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":58,\"Value1\":26,\"Value2\":22},{\"Name\":\"food\",\"Value\":43,\"Value1\":26,\"Value2\":22}]},{\"Frequency\":\"Building 8\",\"Data\":[{\"Name\":\"Medicine\",\"Value\":48,\"Value1\":26,\"Value2\":2},{\"Name\":\"food\",\"Value\":34,\"Value1\":26,\"Value2\":33}]}]");

inside the bracket my data should be come i dont know how to do this can any tell me how to do this.

before i tried this but it is not working.

  d3.json("D3json.json", function(error, data) {
            var datas = data; 
        })

here is my jsfiddle example: Click here to see the example

Thanks Vinoth S

解决方案

If I understood your question correctly, you are trying to dynamically load JSON data in contrast to having it hard-coded in your file.

Here is an example how to do it: http://bl.ocks.org/Jverma/887877fc5c2c2d99be10

In general, you have to execute the drawing part after you successfully loaded the data (within the callback function of d3.json())

这篇关于将json数据加载到d3js中的数据集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆