我正在尝试创建一个分组图表,可以打开和关闭其系列-这是一个有效的演示
https://bl.ocks.org/andrew-reid/64a6c1892d1893009d2b99b8abee75a7
我正在尝试通过json输入使它工作-但我遇到了错误。
http://jsfiddle.net/0ht35rpb/231/
我本质上是想从数据中获取键数组。
var键= data.columns.slice(1);
^以前是csv的地方
所以需要获得这个钥匙
var keys = [
"AA",
"BB"
]
从数据
var data = [{
"State": "CA",
"AA": 100,
"BB": 200
},
{
"State": "TX",
"AA": 454,
"BB": 344
}];
最佳答案
由于没有columns
创建的d3.json
属性,因此可以使用d3.keys
获取密钥:
var keys = d3.keys(data[0]).slice(1);
这是一个演示:
var data = [{
"State": "CA",
"AA": 100,
"BB": 200
}, {
"State": "TX",
"AA": 454,
"BB": 344
}];
var keys = d3.keys(data[0]).slice(1);
console.log(keys)
<script src="https://d3js.org/d3.v4.min.js"></script>
由于键的顺序是不确定的,因此更安全的方法是删除该
slice
并改用filter
:var data = [{
"State": "CA",
"AA": 100,
"BB": 200
}, {
"State": "TX",
"AA": 454,
"BB": 344
}];
var keys = d3.keys(data[0]).filter(function(d) {
return d != "State";
});
console.log(keys)
<script src="https://d3js.org/d3.v4.min.js"></script>
关于javascript - d3从数据获取键数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46800497/