Angularjs 如何在piechart highchart中显示前三名数据标签
我有一个要求,我希望我的饼图只显示前3个数据标签,而不是显示所有数据并填充空间。是否有任何内置的highchart api可用,或实现此目的的最佳解决方案 这是我的JSFIDLE:Angularjs 如何在piechart highchart中显示前三名数据标签,angularjs,web,highcharts,Angularjs,Web,Highcharts,我有一个要求,我希望我的饼图只显示前3个数据标签,而不是显示所有数据并填充空间。是否有任何内置的highchart api可用,或实现此目的的最佳解决方案 这是我的JSFIDLE: 在发布此问题之前,我已经搜索了足够多并试图找到解决方案,但没有找到任何帮助。您可以使用dataLabels.formatter函数仅返回特定的dataLabels(对于其值足够大的点) 我对y值进行排序,然后检查我的数据标签点y值是否大于或等于系列的第三个y值。如果它更大或相等,则返回值,否则不返回任何内容 在这里
在发布此问题之前,我已经搜索了足够多并试图找到解决方案,但没有找到任何帮助。您可以使用dataLabels.formatter函数仅返回特定的dataLabels(对于其值足够大的点) 我对y值进行排序,然后检查我的数据标签点y值是否大于或等于系列的第三个y值。如果它更大或相等,则返回值,否则不返回任何内容
在这里,您可以找到它的工作原理示例:您可以使用dataLabels.formatter函数仅返回特定的dataLabels(对于其值足够大的点) 我对y值进行排序,然后检查我的数据标签点y值是否大于或等于系列的第三个y值。如果它更大或相等,则返回值,否则不返回任何内容
在这里,您可以找到一个它如何工作的示例:您可以使用dataLabels.formatter函数:Thank@GrzegorzBlachliński它似乎可以工作,但在您的小提琴中,它显示了数据标签中的值,但我想在数据标签中显示名称。我对highchart不太熟悉,你能帮我在数据标签中显示前三名而不是值吗。。我返回了“this.key”而不是val,结果它成功了。如果可能,请添加此评论作为答案,我会将其标记为已回答。它可以帮助其他用户。更新的提琴:您可以使用dataLabels.formatter函数:谢谢@GrzegorzBlachliński它似乎在工作,但在您的提琴中显示,数据标签中有值,但我希望数据标签中有名称。我对highchart不太熟悉,你能帮我在数据标签中显示前三名而不是值吗。。我返回了“this.key”而不是val,结果它成功了。如果可能,请添加此评论作为答案,我会将其标记为已回答。它可以帮助其他用户。更新小提琴:
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true
},
showInLegend: true
}
}
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;
}