在一个图表中绘制多个堆叠系列

时间:2014-08-18 21:21:02

标签: javascript jquery flot series stacked

是否可以将两个单独的数据变量分别堆叠在同一个图表上?例如,我的第一个数据变量中有3个堆叠系列,而我的第二个数据变量中有2个不同的堆叠系列。我可以将它们放在同一个图表中,但可以独立堆叠吗?

1 个答案:

答案 0 :(得分:0)

不确定我完全理解,但是如果你想要两组堆栈,只需将它们分开x轴:

    var d1 = [];
    for (var i = 0; i <= 10; i += 1) {
        d1.push([i, parseInt(Math.random() * 30)]);
    }

    var d2 = [];
    for (i = 0; i <= 10; i += 1) {
        d2.push([i, parseInt(Math.random() * 30)]);
    }

    var d3 = [];
    for (i = 0; i <= 10; i += 1) {
        d3.push([i, parseInt(Math.random() * 30)]);
    }

    // d1, d2, d3 run 0 to 10
    // d4, d5, 12 to 20

    var d4 = [];
    for (i = 12; i <= 20; i += 1) {
        d4.push([i, parseInt(Math.random() * 30)]);
    }       

    var d5 = [];
    for (i = 12; i <= 20; i += 1) {
        d5.push([i, parseInt(Math.random() * 30)]);
    }

制作(例如here):

enter image description here

编辑评论

如果要将一些系列向正方向堆叠而其他系列为负向,则为每个堆栈组提供唯一的stack变量值。

    var d1 = [];
    for (var i = 0; i <= 10; i += 1) {
        d1.push([i, parseInt(Math.random() * 30)]);
    }
    d1 = {data: d1, stack: 1}; // specifiy a unique stack for pos

    var d2 = [];
    for (i = 0; i <= 10; i += 1) {
        d2.push([i, parseInt(Math.random() * 30)]);
    }
    d2 = {data: d2, stack: 1}; // specifiy a unique stack for pos

    var d3 = [];
    for (i = 0; i <= 10; i += 1) {
        d3.push([i, parseInt(Math.random() * 30)]);
    }
    d3 = {data: d3, stack: 1}; // specifiy a unique stack for pos

    var d4 = [];
    for (i = 0; i <= 10; i += 1) {
        d4.push([i, parseInt(-Math.random() * 30)]);
    }
    d4 = {data: d4, stack: 2}; // specifiy a unique stack for neg


    var d5 = [];
    for (i = 0; i <= 10; i += 1) {
        d5.push([i, parseInt(-Math.random() * 30)]);
    }
    d5 = {data: d5, stack: 2}; // specifiy a unique stack for neg

更新了example

enter image description here