选择NVD3图表的数据
Select data for NVD3 chart
我是一个新手,在NVD3上遇到了麻烦,这里有一些聪明的人,所以我希望你能帮助我。
我试图创建一个下拉框,将选择数据显示。我可以调用函数,但是我不能让图表改变它的数据位置。
HTML:<select name="slct" id="name" onchange="data(this.value)">
<option>Select power data</option>
<option value="Residence_supply_data">Average kwh residences supplied to the grid</option>
<option value="Residence_need_data">Average kwh supplied to residences</option>
</select>
注意:我已经用上面的值作为名字创建了JSON库。
Javascript:function data(value) {
console.log(value);
var dat_select = value;
return dat_select;
};
var chart;
nv.addGraph(function() {
chart = nv.models.multiBarHorizontalChart().x(function(d) {
return d.label
}).y(function(d) {
return d.value
}).margin({
top : 30,
right : 105,
bottom : 30,
left : 100
})
//.showValues(true)
.tooltips(true).barColor(d3.scale.category20().range()).showControls(false);
chart.yAxis.tickFormat(d3.format(',.0f'));
d3.select('#chart1 svg').datum(dat_select).transition().duration(1000).call(chart);
nv.utils.windowResize(chart.update);
chart.dispatch.on('stateChange', function(e) {
nv.log('New State:', JSON.stringify(e));
});
return chart;
});
一切正常,函数记录结果,只是不能选择我需要的数据。如果我设置d3.select('#chart1 svg').datum(Residence_supply_data)
,它将加载该数据。
在d3.slect('#chart1 svg')
赋值给变量(全局变量)的点
myChart = d3.select('#chart1 svg').datum(dat_select).transition()
.duration(1000).call(chart);
所以现在myChart
包含nvd3 multiBarHorizontalChart()
图表。
所以当你想通过调用function 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);
}
相关文章:
- AngularJS nvd3折线图指令未在数据更改时重新绘制(非实时)
- 将JSON数据加载到Angular-nvD3 Graph(AngularJS)中
- 如何从node.js服务器接收nvd3.js中的数据
- 从 Flask 传递 nvd3 图表的数据作为参数
- 当使用 ajax 传递数据时,NVD3 折线图不显示 - data.map 不是一个函数
- 将 Json 数据加载到 nvd3 图中
- 通过Merge更新D3.js(NVD3.js)数据
- 如何将多年数据集与NVD3重叠
- 如何将JSON数据添加到nvd3图表中
- Nvd3 / SVG没有得到更新的新数据
- 用d3.csv加载csv数据在nvd3多条形图示例(JSON格式)
- NVD3 -如何刷新数据功能,以产生新的数据点击
- 是否可以将csv数据加载到nvd3库
- 在javascript中传递模型数据到nvd3图表
- Angular NVD3 y轴将最小数据值设置为最大范围值
- Angular NVD3多条形图,双y轴,只显示使用json数据的线
- 如何获取nvd3图表的动态数据
- NVD3图表中的JSON数据格式
- angularjs-nvd3-直线更新数据
- Nvd3多数据库-在xAxis上显示数据中的间隙