我正在使用具有多Yaxis和动态系列的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);
答案 0 :(得分: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
];