Dygraph:如何清除图表数据并重新加载?

时间:2013-09-16 11:31:01

标签: graph clear dygraphs

我的应用程序具有刷新功能,其中应清除图表上的所有当前数据,并且应从开始加载数据。我不想破坏dygraph并重新创建它,但只需要从开始清除现有数据和绘图。 我试过的是

g.rawdata_ = null; g.updateOptions({'file':g.rawdata _});

但它会引发错误。如果我将rawdata设置为0然后尝试更新,它不会清除数据。 有关如何做到这一点的任何建议吗?

2 个答案:

答案 0 :(得分:4)

就像评论中的人说:

plotData = [[0,0]];

g.updateOptions(
    { 
        'file': plotData
    }
);

plotData必须包含的东西。您可以放置​​几种不同格式中的一种,但上述内容在过去对我有用。我正在更新一个情节并每秒刷新数据。为此,我在updateOptions之前预加载plotData。

祝你好运,

Ĵ

答案 1 :(得分:1)

我面临几乎相同的问题。当用户单击按钮时,我会刷新图表。 dygraph的句柄是一个局部变量,例如。

var g = new Dygraph(...

这在函数内部被调用。问题在于图形,并且它所引用的所有变量(元素,数据等)都不会被破坏并保留在内存中。

我的解决方法是有一个全局对象,将chart_id作为键,并将图表的句柄作为值,并且每次调用相同的chart_id时,我都会检查全局对象中是否已存在该句柄,如果存在则销毁。这就是它的样子,

if(chart_handle[chart_id])
{
   chart_handle[chart_id].destroy();
}
chart_handle[chart_id] = new Dygraph(...