Javascript 如何根据用户输入更新D3 SVG图表

Javascript 如何根据用户输入更新D3 SVG图表,javascript,json,d3.js,Javascript,Json,D3.js,我希望变量能够根据用户输入动态更新。我在一个Json文件中有几个数据集,希望使用用户选择的特定数据集创建一个图形 在下面的示例中,变量“dataset”被静态设置为food,但还有其他数据集(饮料、银器等),用户可以从中选择,并且应该更改图形数据 但我不知道如何使“数据集”动态更新。我想保留“数据”,但将“食物”更改为用户选择的任何内容。这可能吗 var dataset = data.food; var svg = d3.select ("body") .append ("svg")

我希望变量能够根据用户输入动态更新。我在一个Json文件中有几个数据集,希望使用用户选择的特定数据集创建一个图形

在下面的示例中,变量“dataset”被静态设置为food,但还有其他数据集(饮料、银器等),用户可以从中选择,并且应该更改图形数据

但我不知道如何使“数据集”动态更新。我想保留“数据”,但将“食物”更改为用户选择的任何内容。这可能吗

var dataset = data.food;

var svg = d3.select ("body") 
  .append ("svg")
  .attr("width", w)
  .attr("height", h); 
svg.selectAll("rect")
  .data(dataset) 

是的,你可以很容易地做到这一点。假设变量
value
包含数据集的名称,则可以执行以下操作

var dataset = data[value];

谢谢您!成功了…你能告诉我为什么吗?括号是做什么的,为什么我不需要一个句号?我还在学习D3foo[“bar”]相当于foo.bar。您可能想看看一些Javascript教程:)