private drawCircularSegments()

in src/radarChart.ts [597:638]


    private drawCircularSegments(values: PrimitiveValue[]): void {
        let axisBeginning: number = this.radarChartData.settings.displaySettings.axisBeginning;
        let data: RadarChartCircularSegment[] = [],
            angle: number = this.angle,
            factor: number = RadarChart.SegmentFactor,
            levels: number = RadarChart.SegmentLevels,
            radius: number = this.radius;

        for (let level: number = 0; level < levels; level++) {
            let levelFactor: number = radius * factor * ((level + 1) / levels);

            for (let i: number = 0; i <= values.length; i++) {
                data.push({
                    x1: levelFactor * (Math.sin(i * angle)),
                    y1: axisBeginning * levelFactor * (Math.cos(i * angle)),
                    x2: levelFactor * (Math.sin((i + 1) * angle)),
                    y2: axisBeginning * levelFactor * (Math.cos((i + 1) * angle)),
                });
            }
        }

        let selection: d3.Selection<d3.BaseType, RadarChartCircularSegment, any, any> = this.mainGroupElement
            .select(RadarChart.SegmentsSelector.selectorName)
            .selectAll(RadarChart.SegmentNodeSElector.selectorName)
            .data(data);

        selection
            .exit()
            .remove();

        selection = selection
            .enter()
            .append("svg:line")
            .classed(RadarChart.SegmentNodeSElector.className, true)
            .merge(selection)
            .attr("x1", (segment: RadarChartCircularSegment) => segment.x1)
            .attr("y1", (segment: RadarChartCircularSegment) => segment.y1)
            .attr("x2", (segment: RadarChartCircularSegment) => segment.x2)
            .attr("y2", (segment: RadarChartCircularSegment) => segment.y2);

        this.changeAxesLineColorInHighMode([selection]);
    }