score:1

Accepted answer

You can render other lines in the same positions as the horizontal ones. Please check the below solution:

    chart: {
        events: {
            render: function() {
                const points = this.series[0].points;

                points.forEach(point => {
                    const nextPoint = points[point.index + 1];
                    if (nextPoint) {
                        const d = [
                            'M',
                            point.plotX + this.plotLeft - 1,
                            point.plotY + this.plotTop,
                            'L',
                            nextPoint.plotX + this.plotLeft + 1,
                            point.plotY + this.plotTop
                        ];

                        if (point.customPath) {
                            point.customPath.attr({
                                d
                            });
                        } else {
                            point.customPath = this.renderer
                                .path([])
                                .attr({
                                    d,
                                    stroke: 'red',
                                    'stroke-width': 7
                                })
                                .add();
                        }
                    }
                });
            }
        }
    }

Live demo: http://jsfiddle.net/BlackLabel/wc5zrax9/

API Reference: https://api.highcharts.com/class-reference/Highcharts.SVGRenderer#path


Related Articles