高级甜甜圈图表没有所有的切片
问题描述:
我正在做简单的甜甜圈图表,这些图表的行为更像是有规律的,因为它们在系列中有一个单一的数据点并不能满足整个数据点。目前,我正在将第二个数据点放入系列作为空白区域,但这具有需要隐藏工具提示和高亮显示的所有缺陷。什么是最好的方法呢?我认为我可以设置图表的总价值,但我无法在任何地方的文档中找到它。高级甜甜圈图表没有所有的切片
答
馅饼系列总价值是通过总和所有点的价值计算得出的。
因此,根据您的积分值和切片的大小,添加第二个点,使其不可见并将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也有一个计图表,所以也许这是你在找什么 - 没有调整的饼图。