我是使用D3.js的新手。我有两个单独的jsons。从一个json我想选择一个值并在X轴上显示它。从第二个json我想要选择一些值并在y轴上显示它。我在json中都有一个常见的东西,就是objectID。但没有得到如何获取这些值并在条形图上显示。我在以下网址上分享了我的JSON。
http://www.jsoneditoronline.org/?id=1198d736c68ea9be81e77c7fe3982ab3 http://www.jsoneditoronline.org/?id=0dba90821a577ab28b5725b877706f3d
答案 0 :(得分:1)
您需要请求两个文件,然后手动合并数据。要请求这两个文件,我会使用d3.queue,并将数据与简单的forEach
循环合并:
queue()
.defer(d3.json, 'json1.json')
.defer(d3.json, 'json2.json')
.await(makePlot);
function makePlot(error, json1, json2){
if (error) throw error;
var merge = [];
json1.forEach(function(d0){
json2.forEach(function(d1){
// for matching ids, create a datapoint
if (d0.ObjectID === d1.ObjectID){
merge.push(
{
ObjectID: d0.ObjectID,
x: d1.Name,
y: d0.Defects.Count
}
);
}
});
});