0

我正在使用具有多 Y 轴和动态系列的 flot 制作图表。这是我正在尝试做的示例http://jsfiddle.net/4Emr9/3/。现在,问题是,如何动态添加 y 轴。在示例中,系列被写入了 4 次,并在 yaxes 中指定了 4 次。

var data = [
{ data: generate(0, 10, function (x) { return Math.sqrt(x)}), xaxis: 1, yaxis:1 },
{ data: generate(0, 10, function (x) { return Math.sin(x)}), xaxis: 1, yaxis:2 },
{ data: generate(0, 10, function (x) { return Math.cos(x)}), xaxis: 1, yaxis:3 },
{ data: generate(0, 10, function (x) { return Math.tan(x)}), xaxis: 1, yaxis: 4 }

];

yaxes: [ { position: 'left', labelWidth : 18},
         { position: 'right', tickColor:'black', labelWidth : 18, tickDecimals: 0},
         { position: 'right' , tickColor:'black', labelWidth : 18, tickDecimals: 0},
         { position: 'right', tickColor:'black', labelWidth : 18}
       ],

我有一个动态的系列要绘制,我的代码是这样的。

data.push({ label: selectedItem, data: dataPoints });
$.plot(placeholder, data, options);
4

1 回答 1

0

如果你有一个options对象和一个data对象,只需动态添加它们:

options.yaxes = [];
for (var i=1; i<dataSets.length;i++){
    data.push({ label: selectedItem, data: dataSets[i], yaxis:i });
    options.yaxes.push({ position: 'right', tickColor:'black', labelWidth : 18, tickDecimals: 0});
}

这假设您的源数据是一个点数组,称为点数组dataSets,看起来像这样:

dataSets = [
    [[0,1],[1,2],...],
    [[0,5],[1,1],...],
    //etc
];
于 2013-05-07T15:30:53.473 回答