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]);
}