Javascript 当将变量用作';y2';

Javascript 当将变量用作';y2';,javascript,dygraphs,Javascript,Dygraphs,我有以下代码来显示具有两个轴的图形。数据的格式如下: 日期、值1、值2 var sg = new Dygraph(document.getElemantById("div"), lGraphData, { labels: ['Date', string1, string2], legend: 'always', series: { string2 : { axis: 'y2' } }, ylabel:

我有以下代码来显示具有两个轴的图形。数据的格式如下:
日期、值1、值2

var sg = new Dygraph(document.getElemantById("div"),
lGraphData,
{
    labels: ['Date', string1, string2],
    legend: 'always',
    series: {
        string2 : {
            axis: 'y2'
        }
    },
    ylabel: string1,
    y2label: string2
});
这两个系列不显示
y2轴
,而是显示在图形上,仅显示
y轴
。 如果我将上述代码中的
string2
(变量字符串)替换为
Y2
,则两个轴都会出现


我做错了什么?

这是一个基本的JavaScript问题。当string2显示为对象文字中的键时,它表示字符串“string2”,而不是string2变量的值。您需要创建一个选项对象并将其分块填充,如下所示:

var opts = {
    labels: ['Date', string1, string2],
    legend: 'always',
    series: {},
    ylabel: string1,
    y2label: string2
};
opts.series[string2] = { axis: 'y2' };

var sg = new Dygraph(document.getElemantById("div"), lGraphData, opts);