1

如何在同一行对齐两个highcharts yAxis?

我在同一页面上有两张图表,一张低于另一张。在 highcharts 中是否可以指定两个图表的 yAxis 从同一行开始?

实际的:

在此处输入图像描述

预期的

在此处输入图像描述

提前致谢

4

1 回答 1

2

一般来说,您可以通过http://jsfiddle.net/BlackLabel/f3frd95v/设置静态左边距chart.marginLeft

但是,如果我们不知道我们需要多少空间,这不是一个很好的解决方案。在这种情况下,我建议在渲染后更新图表:http: //jsfiddle.net/BlackLabel/f3frd95v/1/

var chart1 = Highcharts.chart('container', {
  series: [{
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
  }]
});

var chart2 = Highcharts.chart('container2', {
  yAxis: {
    labels: {
      format: '{value}'
    }
  },
  series: [{
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4].map(function(p) {
      return p * 1e7;
    })
  }]
});

var leftMargin1 = chart1.plotLeft,
  leftMargin2 = chart2.plotLeft;

if (leftMargin1 > leftMargin2) {
  chart2.update({
    chart: {
      marginLeft: leftMargin1
    }
  });
} else if (leftMargin2 > leftMargin1) {
  chart1.update({
    chart: {
      marginLeft: leftMargin2
    }
  });
}
于 2018-01-25T14:22:35.483 回答