如何在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' }] }); });
给你的答案:
-
是的,这可以通过使用Highcharts插件实现。
-
这不受支持,您可以使用
chart.events.load
循环遍历xAxis中的所有标签,并根据相应类别的第一个系列中的值更新其位置