在 highcharts 中,是否可以获取 x 轴标签的准确位置以进行重叠检测?

dax*_*axu 5 highcharts

我的数据(折线图)是动态的,有时 x 轴标签重叠。

客户不想用两行或有角度的标签,我想知道是否有可能获得所有 x 轴标签的精确绘制位置?

然后我可以循环遍历标签,找到每个标签的大小并删除重叠的标签。

Paw*_*Fus 4

您可以获得每个标签的边界框。标签存储在chart.xAxis[index].tick对象中。演示: http: //jsfiddle.net/oe1vcmqj/4/

    var ticks = $('#ccontainer').highcharts().xAxis[0].ticks,
        tick, el;

    for (tick in ticks) {
        el = ticks[tick];
        console.log(
            tick, 
            ' BoundingBox: ',
            el.label.getBBox(), // bounding box
            ' X:', 
            el.label.attr('x'), // x-attribute
            ' Y:', 
            el.label.attr('y') // y-attribute
        );
    }
Run Code Online (Sandbox Code Playgroud)