Flot:在一个图表中组合堆叠的条形图和线条

时间:2017-07-03 14:00:03

标签: javascript jquery flot

我试图将堆积的条形图和折线图组合在一个flot图中。

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

请参阅此jsfiddle:http://jsfiddle.net/derkinzi/eor5ngjd/

设置stack: null时有效,但我需要堆栈。同时给它自己的yaxis这条线并不能解决问题。 (将第90行更改为:yaxis: 2

我如何修改代码,以便line.data使用独立的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 个答案:

答案 0 :(得分:2)

正如stack plugin中所述,您可以为每个数据系列指定stack选项,因此在您的情况下请执行以下操作:

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

此外,当您定义多个轴时,请使用yaxes属性,而不是yaxis

Updated fiddle