D3绘制数据集的选择部分

D3 graphing selective portions of data set

本文关键字:选择部 数据集 绘制 D3      更新时间:2023-09-26

我有一个大的时间序列数据集,我需要图形,我试图使用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.  

也可以直接在节点数组上应用filter。