如何在yAxis零值(负/正图表)上设置Highcharts xAxis位置?

我想让我的xAx不低于我的图表,但在中间( 在yAxis零值上 )。

我还想拥有xAxis标签:

  • 当它是负值,在xAxis 之上
  • xAxis正值时,它低于xAxis

通缉图表

这就是我所拥有的: jsFiddle

$(function () { $('#container').highcharts({ xAxis: { showFirstLabel : true, showLastLabel : true, type : "category", tickLength : 0, lineWidth : 2 }, series: [{ data: [ {name : 'T1', y: 123},{name : 'T2', y: 152},{name : 'T3', y: -120},{name : 'T4', y: 0},{name : 'T5', y: 142},{name : 'T6', y: 212} ], type : 'column' }] }); }); 
  • 它是否存在一种简单的方法?
  • 如果没有,怎么办?

谢谢。


方案:

感谢Pawel Fus(谢谢,谢谢,谢谢),这是我的问题的解决方案: jsFiddle 。

 $(function () { $('#container').highcharts({ chart: { renderTo: 'container', type: 'column', events: { load: function () { var xAxis = this.xAxis[0]; var serie = this.series[0]; for (var current_tick in xAxis.ticks) { var tick = xAxis.ticks[current_tick]; if(serie.data[current_tick]){ if (serie.data[current_tick].y > 0) { tick.label.attr({ y: tick.label.y + 18 }); } } } } } }, xAxis: { showFirstLabel : true, showLastLabel : true, type : "category", tickLength : 0, crossing:0, opposite:true, lineWidth : 2 }, series: [{ data: [ {name : 'T1', y: 123},{name : 'T2', y: 152},{name : 'T3', y: -120},{name : 'T4', y: 0},{name : 'T5', y: 142},{name : 'T6', y: 212} ], type : 'column' }] }); }); 

给你的答案:

  1. 是的,这可以通过使用Highcharts插件实现。

  2. 这不受支持,您可以使用chart.events.load循环遍历xAxis中的所有标签,并根据相应类别的第一个系列中的值更新其位置