将对象数组传递给FLOT

时间:2016-12-06 12:59:44

标签: arrays object flot

所有

我正在使用FLOT,我正在尝试在同一个图表上组合几个图。第一个图是“水平堆积条”类型,第二个图是“花园种类”时变量......

我可以单独显示两个图,但我不能将它们合并......

请注意,两个图都共享x轴。

第一个情节

var min = -10;
var data1 = [
                { "data": [[ 2, min]], "color": 1}, 
                { "data": [[ 3, min]], "color": 0}, 
                { "data": [[ 1, min]], "color": 1}, 
                { "data": [[ 8, min]], "color": 2}, 
                { "data": [[ 6, min]], "color": 1}
            ];
var options1 = {
    series: {
        stack: true,
        lines: {show: false, steps: false },
        bars: {show: true, horizontal:true, width: 1}
    },
    yaxis: { 
        min: min, 
        max: 20
    }
};
$.plot("#placeholder1", data1, options1);

第二个情节

var data2 = [];
var t = [];
var i = 0;
for (var tt = 0; tt <= 20; tt += 1) {
    data2.push([i, Math.exp(-tt/10.)*9*Math.cos(2.0*Math.PI*0.1*tt)+9]);
    t.push(tt);
    i++;
}
var options2 = {
    series: {
        lines: {
            show: true
        }
    },
    yaxis: {
        min: min,
        max: 20
    }
};

$.plot("#placeholder2", [data2], options2); 

尝试显示两个图

失败
var obj1 = {
    data: data1,
    series: {
        stack: true,
        lines: {show: false, steps: false },
        bars: {show: true, horizontal:true, width: 1}
    }
};

var obj2 = {
    data: [data2],
    series: {
        lines: {
            show: true
        }
    },
    yaxis: {
        min: min,
        max: 20
    }
}
$.plot("#placeholder3", obj1, obj2); 

请参阅此处的笔:http://codepen.io/vpappano/pen/BQrgRQ

非常感谢任何帮助。

谢谢! : - )

1 个答案:

答案 0 :(得分:0)

多点:

  • data1已经是一个数据系列对象数组,它不能是另一个数据系列的data属性
  • data2已经是一个数组,不需要额外的括号
  • 选项的一些问题(每个数据系列和一般),请参阅固定代码
  • plot()的调用不支持代码中的多个数据系列,将数据系列数组作为第二个参数,将选项作为第三个参数

修复了CodePen:http://codepen.io/anon/pen/vyjYNo