如何在饼图高架

时间:2016-09-13 10:43:52

标签: angularjs web highcharts

我有一个要求,我希望我的饼图只显示前3个数据标签,而不是显示所有并填充空间。是否有可用的内置高图api或最佳解决方案来实现这一目标?

这是我的jsfiddle: http://jsfiddle.net/k80ayx1t/

            plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true
                },
                showInLegend: true
            }
        }

我已经搜索了足够的内容,并在发布此问题之前尝试找到解决方案,但没有找到任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用dataLabels.formatter函数仅返回特定的dataLabels(对于值足够大的点)。

formatter: function() {
          var val = this.y,
            allData = $.extend(true, [], this.series.processedYData).sort(),
            length = allData.length;
          if (length - 4 >= 0 && val > allData[length - 4])
            return val;
}

我正在排序我的yValues然后我正在检查我的dataLabels点y值是否大于或等于我的系列的第三个y值。如果它更大或相等,我会返回值,否则我不会返回任何东西。

在这里,您可以找到一个示例:http://jsfiddle.net/k80ayx1t/1/