2017-07-03 118 views
2

我正在尝试在一个FLT图形中结合堆叠条形和折线图。Flot:在一个图表中结合堆积条形和线条

我面临的问题是,行数据也被堆叠。这意味着第一点(line.data[0])的数据将绘制为15,但我希望它是5

请参见本文的jsfiddle:http://jsfiddle.net/derkinzi/eor5ngjd/

设置stack: null但我需要堆栈时,它的工作原理。也给线条它自己的yaxis不能解决问题。 (将第90行更改为:yaxis: 2

如何修改代码以便line.data get的独立yaxis独立绘图?

基本上我需要这一点,但与堆叠条形:http://jsfiddle.net/derkinzi/eor5ngjd/11/

这是我的数据集:

var stack1 = { 
    label: 'stack1', 
    data: [ 
     [1, 6], 
     [2, 3], 
     [4, 5], 
     [4, 3], 
     [5, 4] 
    ], 
    bars: bar_options 
    }; 
    var stack2 = { 
    label: 'stack2', 
    data: [ 
     [1, 4], 
     [2, 4], 
     [3, 4], 
     [4, 4], 
     [5, 4] 
    ], 
    bars: bar_options 
    }; 
    var line = { 
    label: 'line', 
    data: [ 
     [1, 5], 
     [2, 15], 
     [3, 15], 
     [4, 15], 
     [5, 20] 
    ], 
    lines: line_options, 
    yaxis: 1, 
    points: { 
     radius: 5, 
     show: true 
    }, 
    }; 
    var dataset = [stack1, stack2, line]; 

回答

1

正如stack plugin介绍,您可以指定每个数据系列stack选项,所以你的情况做到这一点:

var stack1 = { 
    //... 
    stack: true, 
}; 
var stack2 = { 
    //... 
    stack: true, 
}; 
var line = { 
    //... 
    stack: false, 
    //... 
}; 

此外,当您定义多个轴,使用yaxes属性,正ot yaxis

Updated fiddle

+0

谢谢。这就像一个魅力。它试图在之前添加堆栈,但始终在原始对象中:'series:{stack:true}'显然不起作用...... :) – Seb