Radial Pie Chart Datalabels in Highcharts

后端 未结 1 548
礼貌的吻别
礼貌的吻别 2021-01-16 09:52

How can I center the datalabel in the wedge of the pie (inside) and align to the pie radius instead of horizontal or vertical. Here is an image of what I am after.

M

相关标签:
1条回答
  • 2021-01-16 10:54

    Highcharts is not providing options for auto rotating data labels in pie chart. You can write your custom function for dataLabels rotation.

    Here is simple example how you can do it:

    var allY, angle1, angle2, angle3,
        rotate = function () {
            $.each(options.series, function (i, p) {
                angle1 = 0;
                angle2 = 0;
                angle3 = 0;
                allY = 0;
                $.each(p.data, function (i, p) {
                    allY += p.y;
                });
    
                $.each(p.data, function (i, p) {
                    angle2 = angle1 + p.y * 360 / (allY);
                    angle3 = angle2 - p.y * 360 / (2 * allY);
                    p.dataLabels.rotation = -90 + angle3;
                    angle1 = angle2;
                });
            });
        };
    

    First I am calculating sum of all Y values. Then I am calculating the angle of middle of all pie slices. Then I am rotating data labels by the same angle.

    example: http://jsfiddle.net/izothep/j7as86gh/6/

    0 讨论(0)
提交回复
热议问题