使用d3.js在Meteor中重新绘制折线图的有效方法是什么?
我有一种方法可行,而且它的速度足够快"现在,我不喜欢它。
我当前的方法是在查询上使用Observer,并使用它来维护d3.js可用于渲染的相关对象,因此在正常的重绘路径中不会进行Meteor调用。
我对此不满意,因为它需要一种钥匙。键是固定的时间点,因此Doctor无法修改它们......我的意思是键是时间点(例如,每600秒),这些值当前是一个具有我想要的一个或多个东西的对象绘制在X轴上。
每次发生变化时,我都会更新此相关对象,并基本上调用通常的d3.js魔法来选择该行,然后更新它。这实际上只是重绘整个图形的一种更有效的方法。
随着数据点的增加,重绘所需的时间也会增加。我使用带有500毫秒门的_.throttle()来限制重绘速率。
更新很频繁,但通常只针对最后一项,因为它会在新数据到达时更新该时间点的最大值,最小值,平均值和当前值。
如果我正在绘制圆圈,这将更容易,因为我只能重绘一个圆圈,只触摸一个数据点。我见过的所有例子都使用圆圈,条形图等,它们都相对容易有效地更新。但是,折线图......这是一个挑战!
我考虑过制作很多小线段,但我也喜欢"基础"插值看起来比线性好。
人们如何在野外做这件事?