cdi*_*run 6 javascript graphing d3.js
我有一个我需要绘制的大型时间序列数据集,并且我正在尝试使用D3来完成它.我计划让我的图表的x轴为时间,并允许图形在x方向上移动.我想让图表仅加载/显示屏幕上当前时间范围内存在的点.
例如,如果我的数据集的时间为1-100,但图表以1-10显示的时间开始,则图表应仅绘制点1-10.然后用户可以向右移动并查看时间5-15,并且图表应该相应地更新.
任何人都可以向我解释如何通过d3完成这项工作?我很难将立即加载的整个数据集中的理解与立即绘制成数据子集的选择性图形.
我认为您正在寻找该selection.filter()功能。例如你可以有:
var allNodes = vis.selectAll("Nodes").data(data.nodes);
var validNodes = allNodes.filter(function(d){return (d.time>1 && d.time <10)});
//use normal graph functions on validNodes.
Run Code Online (Sandbox Code Playgroud)
您还可以直接在节点数组上应用过滤器。