使用highcharts库创建饼图,但它会在切片之间为负值创建空白区域。
我想删除该空格,并希望将负值显示为0.0。
以下是我的代码..
[http://jsfiddle.net/mukeshkumartech/xnxL3adL/][1]
您可以在此代码中看到数据未显示为“Firefox”为0.0而不创建sapce。
答案 0 :(得分:0)
您可以在将数据传递给图表构造函数之前为此做好准备,如下所示:
data: [
['Firefox', -45.089],
['IE', 26.8],
['Chrome:', -10],
['Safari', 8.5],
['Opera', 6.298],
['Others', 0.7]
].map(function(pointArr) {
var newPoint = {
name: pointArr[0]
},
value = pointArr[1];
if (value < 0) {
newPoint.y = 0;
newPoint.negY = value;
} else {
newPoint.y = value
}
return newPoint;
})
如果值为负,则使用0
作为y
属性并将原始值保存在negY
属性中,以便稍后在dataLabels.formater
中使用它:< / p>
dataLabels: {
enabled: true,
formatter: function() {
console.log(this);
var point = this.point;
return this.key + " - value: " + (point.negY ? point.negY : point.y);
}
}
实时工作示例: http://jsfiddle.net/kkulig/6u7Lzfu9/
API参考: https://api.highcharts.com/highcharts/series.pie.dataLabels.formatter