in src/radarChart.ts [792:833]
private createAxesLabels(): void {
if (!this.radarChartData
|| !this.radarChartData.labels
|| !this.radarChartData.labels.labelPoints) {
return;
}
let angle: number = this.angle,
radius: number = this.radius,
labelPoints: RadarChartLabel[] = this.radarChartData.labels.labelPoints;
let axisBeginning: number = this.radarChartData.settings.displaySettings.axisBeginning;
for (let i: number = 0; i < labelPoints.length; i++) {
let angleInRadian: number = i * angle,
label: RadarChartLabel = labelPoints[i],
angleInDegree: number = angleInRadian * RadarChart.Angle180Degree / Math.PI;
label.angleInDegree = angleInDegree;
label.x = RadarChart.LabelPositionFactor * radius * Math.sin(angleInRadian);
label.y = axisBeginning * RadarChart.LabelPositionFactor * radius * Math.cos(angleInRadian);
label.xLinkBegin = radius * RadarChart.LabelLinkBeginPositionFactor * Math.sin(angleInRadian);
label.yLinkBegin = axisBeginning * radius * RadarChart.LabelLinkBeginPositionFactor * Math.cos(angleInRadian);
label.textAnchor = (i * angle) < Math.PI
? RadarChart.TextAnchorStart
: RadarChart.TextAnchorEnd;
}
this.shiftCollidedLabels(labelPoints as RadarChartLabel[]);
for (let i: number = 0; i < labelPoints.length; i++) {
let label: RadarChartLabel = labelPoints[i];
label.outsidePlacement = OutsidePlacement.Allowed;
label.xLinkEnd = label.x;
label.yLinkEnd = label.y;
}
this.drawAxesLabels(labelPoints as RadarChartLabel[]);
}