我正在使用HighCharts创建饼图,但我正在使用的数据集具有负数。负面的部分是如此之小,以至于它在饼图本身中无关紧要,但我在图例中有显示问题。我找到了一个较旧的演示版,它使用的旧版本的highcharts.js显示负数http://jsfiddle.net/AdW2Z/8/
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false,
formatter: function () {
return this.point.positive ? this.y : this.y * (-1);
},
color: 'black',
style: {
font: '13px Trebuchet MS, Verdana, sans-serif'
}
},
我尝试使用相同的代码,但使用当前版本的highcharts.js,但这就是我在图例中获得“null”的地方: http://jsfiddle.net/bRZaw/1/
我有什么想法可以解决这个问题?我和过去3天一直在争吵。谢谢你提前!
答案 0 :(得分:1)
饼图应该代表总数的一部分,所以预计负数不会起作用,因为你不能有总数的负数部分。如果您需要表示负值,那么您可能应该使用其他类型的图表。
如果您确实想要显示该值(假设您说它并非真正重要),请尝试将其包装在绝对值中,Math.abs(yourValue)应该可以解决问题。
答案 1 :(得分:1)
通过更新labelFormatter
,您可以在图例中为负数显示0,如下所示:
labelFormatter: function () {
if (this.y === null) {
return this.name + ': 0%';
} else {
return this.name + ': ' + this.y + '%';
}
}
答案 2 :(得分:0)
可以在this.options.y
中找到包含用户数据的原始对象,因此您始终可以使用该值,请参阅:http://jsfiddle.net/bRZaw/9/