Javascript 为NVD3图表选择数据

Javascript 为NVD3图表选择数据,javascript,function,d3.js,nvd3.js,Javascript,Function,D3.js,Nvd3.js,我是n00b,在NVD3方面有问题,这里有一些聪明的人,所以我希望你能帮助我 我正在尝试创建一个下拉框,用于选择要显示的数据。 我可以使用调用函数,但无法使图表更改其数据位置 HTML: 否则一切正常,函数会记录结果,只是无法选择需要的数据。如果我设置d3。选择“chart1 svg”。datumResidence\u supply\u数据,它将加载该数据 感谢您。在d3.slect'chart1 svg'将其分配给variableglobal变量时 myChart = d3.select('#

我是n00b,在NVD3方面有问题,这里有一些聪明的人,所以我希望你能帮助我

我正在尝试创建一个下拉框,用于选择要显示的数据。 我可以使用调用函数,但无法使图表更改其数据位置

HTML:

否则一切正常,函数会记录结果,只是无法选择需要的数据。如果我设置d3。选择“chart1 svg”。datumResidence\u supply\u数据,它将加载该数据

感谢您。

在d3.slect'chart1 svg'将其分配给variableglobal变量时

myChart = d3.select('#chart1 svg').datum(dat_select).transition()
            .duration(1000).call(chart);
现在myChart包含了nvd3多条形水平图

因此,当您希望通过调用函数updateMyChart来更新图表时(例如,从您选择的位置),您可以这样更新图表:

function updateMyChart() {
    // myChart is passed to your new data
    // myChart also calls chart which hold the attributes you 
    // had set earlier for multiBarHorizontalChart
    myChart.datum(Residence_supply_data).transition().duration(1000).call(chart);

    // Update the chart during the window screen resizing
    nv.utils.windowResize(myChart.update);
}

希望这对您有所帮助。

我对您想要实现的目标有点困惑。您是否正在尝试更新传递到图表中的数据?是的,没错。正在尝试更改图表使用的数据。应该解释得更清楚。谢谢@shabeer90,我想得不对。我做了一些和你说的相似的事情,但是我的代码没有你说的那么有效。现在我有几个不同的函数,包含图表,它们使用我使用Draw调用的不同数据集
myChart = d3.select('#chart1 svg').datum(dat_select).transition()
            .duration(1000).call(chart);
function updateMyChart() {
    // myChart is passed to your new data
    // myChart also calls chart which hold the attributes you 
    // had set earlier for multiBarHorizontalChart
    myChart.datum(Residence_supply_data).transition().duration(1000).call(chart);

    // Update the chart during the window screen resizing
    nv.utils.windowResize(myChart.update);
}