Dygraphs:动态创建图表的 updateOptions
Dygraphs: updateOptions for dynamically created charts
我的应用程序根据用户输入动态创建 dygraphs 图表。每个图表都以某种时间线显示在另一个图表之上。我还想为用户提供在单个图表级别更改几个选项的能力。
但是,由于我目前正在使用动态创建图表:
g = new Dygraph(document.getElementById("trend_" + json.id), data,
{
... some options specified here
});
每当我尝试使用如下方式更新其中一个图表上的某些选项时:
g.updateOptions({ ... some option });
它只能更新最后创建的图表。
我最初考虑改用数组,但我认为它行不通,因为图表不是同时创建的。 (我创建的 jsfiddle 允许这样做,但前提是它们是同时创建的)
我的选择是什么?要是我能在我的 g.updateOptions()
函数中传递 document.getElementById()
就好了...
如果您要将 ID 映射到 Dygraph 对象,则将 dygraph 存储在对象映射中:
var gs = {};
for (...) {
gs[json.id] = new Dygraph("trend_" + json.id, data,
{
... some options specified here
});
}
// ....
gs[json.id].updateOptions({...});
我的应用程序根据用户输入动态创建 dygraphs 图表。每个图表都以某种时间线显示在另一个图表之上。我还想为用户提供在单个图表级别更改几个选项的能力。
但是,由于我目前正在使用动态创建图表:
g = new Dygraph(document.getElementById("trend_" + json.id), data,
{
... some options specified here
});
每当我尝试使用如下方式更新其中一个图表上的某些选项时:
g.updateOptions({ ... some option });
它只能更新最后创建的图表。
我最初考虑改用数组,但我认为它行不通,因为图表不是同时创建的。 (我创建的 jsfiddle 允许这样做,但前提是它们是同时创建的)
我的选择是什么?要是我能在我的 g.updateOptions()
函数中传递 document.getElementById()
就好了...
如果您要将 ID 映射到 Dygraph 对象,则将 dygraph 存储在对象映射中:
var gs = {};
for (...) {
gs[json.id] = new Dygraph("trend_" + json.id, data,
{
... some options specified here
});
}
// ....
gs[json.id].updateOptions({...});