Highcharts为负值创造空间

时间:2017-10-23 10:55:09

标签: highcharts

使用highcharts库创建饼图,但它会在切片之间为负值创建空白区域。

我想删除该空格,并希望将负值显示为0.0。

以下是我的代码..

  [http://jsfiddle.net/mukeshkumartech/xnxL3adL/][1]

您可以在此代码中看到数据未显示为“Firefox”为0.0而不创建sapce。

1 个答案:

答案 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