高级甜甜圈图表没有所有的切片

问题描述:

我正在做简单的甜甜圈图表,这些图表的行为更像是有规律的,因为它们在系列中有一个单一的数据点并不能满足整个数据点。目前,我正在将第二个数据点放入系列作为空白区域,但这具有需要隐藏工具提示和高亮显示的所有缺陷。什么是最好的方法呢?我认为我可以设置图表的总价值,但我无法在任何地方的文档中找到它。高级甜甜圈图表没有所有的切片

馅饼系列总价值是通过总和所有点的价值计算得出的。

因此,根据您的积分值和切片的大小,添加第二个点,使其不可见并将ignoreHiddenPoint设置为false。

series: [{ 
    type: 'pie', 
    name: 'Brands', 
    colorByPoint: true, 
    ignoreHiddenPoint: false, 
    data: [ 
    { 
    y: 50, 
    visible: false 
    }, 
    50] 
}] 

例如:http://jsfiddle.net/41xqpnzf/1/

可选地,可以改变updateTotals()行为并且将其扩展,所以可以设置一个固定的总价值。

Highcharts.seriesTypes.pie.prototype.updateTotals = function() { 
var i, 
    total = 0, 
    points = this.points, 
    len = points.length, 
    point, 
    ignoreHiddenPoint = this.options.ignoreHiddenPoint, 
    fixedTotal = this.options.fixedTotal; 

if (!Highcharts.isNumber(fixedTotal) || fixedTotal < 0) { 
    // Get the total sum 
    for (i = 0; i < len; i++) { 
    point = points[i]; 
    // Disallow negative values (#1530, #3623, #5322) 
    if (point.y < 0) { 
     point.y = null; 
    } 
    total += (ignoreHiddenPoint && !point.visible) ? 0 : point.y; 
    } 
} else { 
    total = fixedTotal; 
} 

this.total = total; 

// Set each point's properties 
for (i = 0; i < len; i++) { 
    point = points[i]; 
    point.percentage = (total > 0 && (point.visible || !ignoreHiddenPoint)) ? point.y/total * 100 : 0; 
    point.total = total; 
} 
}; 

然后在选项

series: [{ 
    type: 'pie', 
    name: 'Brands', 
    fixedTotal: 100, 
    colorByPoint: true, 
    data: [50] 
}] 

例如:http://jsfiddle.net/41xqpnzf/2/

Highcharts也有一个计图表,所以也许这是你在找什么 - 没有调整的饼图。