在下面的小提琴中(基于Highcharts示例),第一个系列正确显示,占据了图表的整个高度。
http://jsfiddle.net/markalroberts/h9j53yk4/4/
但是,当您单击按钮添加系列时,将重新计算现有系列的比例(不是我想要的)。
我用来添加轴/系列/数据的代码:
chart.addSeries({
type: 'line',
yAxis: 1,
data: [1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7],
})
如何将现有的series / yAxis组合设置为保持原来的状态,并将新系列设置为ontop(也缩放为使用图表的整个高度)
更新
根据迈克的回答,我必须做的只是:
alignTicks: false
答案 0 :(得分:1)
使用多个轴可能很棘手。我在此Stack Overflow问题中找到了 kjfagan 的答案,对您的情况有帮助:Highcharts y-axis Ceiling not being respected。
我在你的小提琴中所做的是首先只设置初始的y轴,并根据kjfagan的回答给它minPadding: 0
和maxPadding: 0
属性:
yAxis: [{
visible: true,
startOnTick: false,
endOnTick: false,
maxPadding: 0,
minPadding: 0
}],
接下来,在您的buttion,event中,我在此处为新轴设置了完整的属性集,包括minPadding
和maxPadding
属性:
$('#button').click(function() {
c.addAxis({
visible: true,
startOnTick: false,
endOnTick: false,
maxPadding: 0,
minPadding: 0,
opposite: true });
c.addSeries({yAxis:1})
c.xAxis[0].series[1].setData(j.Lines[1].Data);
});
最后,正如GrzegorzBlachliński认真建议的那样,我为图表本身增加了marginTop
。
此外,我添加alignTicks: false
以防止图表自动将轴调整到彼此的值,这可能导致一些不稳定或意外的行为,具体取决于您正在绘制的内容。
chart: {
marginTop: 20,
alignTicks: false
},
以下是您的小提琴的修改版本:http://jsfiddle.net/brightmatrix/h9j53yk4/9/
请注意,多次单击该按钮将添加新轴的多个实例,这些实例将显示为重复的轴标签。您还在原始小提琴的图表选项中多次声明yAxis
;我删除了额外的选项。
最后一件事:您会注意到两个轴的网格线并不完全对齐。我在上面引用的问题中 Sualkcin 的答案提供了有关如何处理该问题的信息(请参阅https://stackoverflow.com/a/23549591/2596103)。
我希望这些信息对您有所帮助。