我对 D3 相当陌生,并且在以某种方式加载和解析数据时遇到问题。
我希望我可以根据数据本身和我希望生成的图像将一些数据加载到我的javascript中,如果我可以按照以下方式加载和解析数据,那就太棒了:
{field:fieldname, data:[1,2,3,4...]} //an array
我使用了另一个Python代码来生成所有数据,并且我尝试了不同的方式来写入这些信息。
例如,我尝试使用 csv 来实现
field ,data,data,data,data
fieldnameA,1 ,2 ,3 ,4....
fieldnameB,1 ,2 ,3 ,4....
......
或转置版本:
fieldnameA, fieldnameB, fieldnameC...
1 , 1 , 1 ...
2 , 2 , 2 ...
... ... ...
我两者都无法工作,我能找到的所有其他示例都采用如下格式,这与我的目标完全不同:
filed , data
fieldnameA, 1
fieldnameB, 2
fieldnameC, 3
我想知道我是否可以粗暴地将我的 csv 写为:
field , data
fieldnameA, [1,2,3,4...]
fieldnameB, [1,2,3,4...]
但是我却陷入了解析 D3 中的列表的困境......
我最好的选择是什么?我应该考虑从 python 写入 JSON 吗?我真的很感激一些帮助!
最佳答案
如果您可以控制源数据,最简单的方法是使用 JSON 格式:
[{
field: "fieldnameA",
data: [1,2,3,4...],
},{
field: "fieldnameA",
data: [1,2,3,4...],
}];
然后就可以加载数据了。 D3 可以通过使用 d3.json 来做到这一点请注意,这在最新的 V5 版本中已更改为返回 promise 。
d3.json("myData.json", function(data){
});
关于javascript - 如何将列表类数据导入到d3中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50055786/