我在json数据中嵌套了数组,但我不知道如何在d3(初学者)中调用它们。
在下面的示例中,我正在尝试使用嵌套在Json中“meal”数组中的“January”数组中的数据构建SVG条形图。
Json看起来像这样:
{
"meals":[
{"january":[
{},{}
]},
{"february":[
{},{}
]},
{"march":[
{},{}
]},
}
d3代码看起来像这样。 “chart”获取用户输入的下拉菜单。在这种情况下,它基本上返回“饭菜”:
var chart = selection.options[selection.selectedIndex].id;
var dataset = data[chart];
var svg = d3.select ("body")
.append ("svg")
.attr("width", w)
.attr("height", svgHeight+30);
svg.selectAll("rect")
.data(dataset.january) //***HERE is where I'm having trouble***
.enter()
.append("rect")
答案 0 :(得分:1)
d3.nest()
可以将这样的数据转换为可解析的数组。这些“教程”示例很棒:http://bl.ocks.org/phoebebright/raw/3176159/
鉴于它对您的项目是可行的,否则更改数据格式以便更容易遍历可能会更好。例如
{
"meals":[
{"name":"salad","month":"january"},
{"name":"burger","month":"february"}, //etc...