如何将两个highcharts yAxis对齐在同一条线上?
我在同一页面上有两张图表,一张在另一张下面。有没有办法在highcharts中指定两个图表的yAxis在同一行开始?
实际
预期
提前致谢
答案 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
}
});
}