Highcharts如何在同一条线上对齐两个图表yAxis

时间:2018-01-25 13:57:30

标签: javascript angular highcharts linechart angular2-highcharts

如何将两个highcharts yAxis对齐在同一条线上?

我在同一页面上有两张图表,一张在另一张下面。有没有办法在highcharts中指定两个图表的yAxis在同一行开始?

实际

enter image description here

预期

enter image description here

提前致谢

1 个答案:

答案 0 :(得分:2)

通常,您可以按chart.marginLeft http://jsfiddle.net/BlackLabel/f3frd95v/

设置静态左边距

然而,如果我们不知道我们需要多少空间,那就不是很好的解决方案。在这种情况下,我建议在渲染后更新图表: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
    }
  });
}