Dygraphs:动态创建的图表的updateOptions

时间:2016-04-03 20:31:00

标签: javascript dygraphs

我的应用程序根据用户输入动态创建dygraphs图表。在某种时间轴上,每个图表都显示在另一个图表的上方。我还希望为用户提供在单个图表级别更改几个选项的功能。

但是,我正在使用以下方式动态创建图表:

g = new Dygraph(document.getElementById("trend_" + json.id), data,
            { 
             ... some options specified here
            });

每当我尝试使用以下内容更新其中一个图表上的某些选项时:

g.updateOptions({ ... some option });

它只能更新最后创建的图表。

我最初想的是使用数组,但我不认为它会起作用,因为图表不是同时创建的。 (我创建的jsfiddle允许它,但只有在同一时间创建它们时才<)

我的选择是什么?如果我只能在document.getElementById()函数中传递g.updateOptions() ...

1 个答案:

答案 0 :(得分:1)

如果要将ID映射到Dygraph对象,则将dygraphs存储在Object映射中:

var gs = {};
for (...) {
  gs[json.id] = new Dygraph("trend_" + json.id, data,
            {
              ... some options specified here
            });
}

// ....
gs[json.id].updateOptions({...});