编程语言
首页 > 编程语言> > javascript – 如何使highcharts pie数据标签始终位于每个切片的中心?

javascript – 如何使highcharts pie数据标签始终位于每个切片的中心?

作者:互联网

我真的想知道如何在饼图中使数据标签始终位于每个切片的中心.

正常状态看起来像这样(你也可以看到这个例子here)

enter image description here

$('#container').highcharts({
    chart: {
        type: 'pie'
    },

    plotOptions: {
        pie: {
            center:  ["50%", "50%"],
            dataLabels: {
                distance: -50
            }
        },
        series:{
            events:{
                load:function(){
                    console.log(this.chartWidth, this.chartHeight);   
                }
            }
        }
    },

    series: [{
        data: [
            ['Firefox',   44.2],
            ['IE7',       26.6],
            ['IE6',       20],
            ['Chrome',    3.1],
            ['Other',    5.4]
        ]
    }]
});

但是,当我减小此图表的宽度或高度时,数据标签会合并,如下图所示.我认为这是距离财产的问题.我试图动态改变距离但失败了.

enter image description here

因此,我想要做的是将数据标签定位在每个切片的中心,甚至降低/增加图表大小.

解决方法:

这是困难的一个.根据我的经验,目前还没有一种方法可以直接在每个饼图的中间明确地居中标签.我已经尝试像在您的示例中那样使用相同(不令人满意的)结果来定位标签,尤其是在较小的浏览器窗口中.

我建议使用图例来显示饼图中的类别/类型,或者考虑使用堆叠条形图(参见http://www.highcharts.com/demo/bar-stacked).

我希望这是有帮助的!

标签:jquery,javascript,highcharts,pie-chart,html
来源: https://codeday.me/bug/20190711/1433001.html