Json 使用d3.js在不同数据集之间转换的最佳方法

Json 使用d3.js在不同数据集之间转换的最佳方法,json,d3.js,Json,D3.js,我试图构建一个条形图,允许用户在一个JSON文件中包含的不同数据集tot1和tot2之间切换: { "users": { "gender": { "tot1": [ {"label":"female", "value":6038}, {"label":"male", "value":45228}, {"label":"unknown", "value":32932} ] "tot2": [

我试图构建一个条形图,允许用户在一个JSON文件中包含的不同数据集tot1和tot2之间切换:

{
    "users":
 {
     "gender":
  {
      "tot1":
   [
       {"label":"female", "value":6038},
       {"label":"male", "value":45228},
       {"label":"unknown", "value":32932}
   ]
      "tot2":
   [
       {"label":"female", "value":6022},
       {"label":"male", "value":45328},
       {"label":"unknown", "value":12932}
   ]
  }
 }
}
我不知道该怎么做。在前面的问题之后,我需要在使用d3.json加载数据时选择tot1或tot2。当然,当从tot1切换到tot2时,图表规格不会改变,所以正确的方法可能是使用一个函数来组成图表,该函数接收数据作为参数

但如果我试图将数据加载到变量中,我会得到一个错误

data1 = d3.json("../data.json", function(data) {return data.users.gender.tot;});

d3.json是异步的,因此必须将数据保存在回调中。有许多在不同数据集之间切换的示例,例如First。您使用的是gender.tot,而不是数据显示的gender.tot1。其次,我建议对您正在使用的数据使用csv表格格式。这样,您就不需要使用数据嵌套,从而简化了工作。