private createAxesLabels()

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