2016-08-05 91 views
0

如果小部分可以与其他人组合在一起,则饼图/甜甜圈图将更易于阅读。我想将此功能添加到zeppelin-highchartsHighcharts - 饼图/甜甜圈图组小部分

在此示例中为Donut Chart。 Safari有一小部分无法阅读。它能够更好地组一起到我想组的一小部分给别人这样的jsfiddle

{ 
    name: 'Safari versions', 
    categories: ['Safari Other Versions', 'Safari v8.0'], 
    data: [2.21, 2.56], 
} 

我经过Highcharts API文档“Safari浏览器的其他版本”

{ 
    name: 'Safari versions', 
    categories: ['Safari v5.0', 'Safari v5.1', 'Safari v6.1', 
       'Safari v6.2', 'Safari v7.0', 'Safari v7.1', 'Safari v8.0'], 
    data: [0.3, 0.42, 0.29, 0.17, 0.26, 0.77, 2.56], 
} 

,但我有没有找到任何可以启用此功能的配置。

如何在Highcharts中实现此功能?

+0

你有没有考虑使用带有明细饼图?如果您愿意,可以轻松将其转换为圆环图。请参阅http://www.highcharts.com/demo/pie-drilldown。 –

+0

@MikeZavarello,感谢您的评论。由于我提供了一个工具,所以其他用户可以选择使用哪个图表。对于单个饼图,如何将小部分分组到一起,以便饼图中只有少数(如5个)碎片。 –

+0

你的数据如何进入图表?我在想,也许你可以运行一个函数,其中小于一定百分比的饼片可以先被分组到一起,然后作为系列数据添加到图表中。 –

回答

1

我认为您可以在制作图表之前添加滤镜功能。您也可以在加载事件回调函数中过滤数据。

在这里你可以找到的代码过滤数据的简单的例子,在回调函数:

var groupSmallData = function(series, number) { 
    var groupValue = 0, 
     newData = []; 
    Highcharts.each(series.data, function(p) { 
     if (p.y < number) { 
      groupValue += p.y; 
     } else { 
      newData.push([p.name, p.y]) 
     } 
    }); 
    newData.push(['others', groupValue]); 
    series.setData(newData) 
} 

在这里你可以找到活生生的例子它如何工作的:http://jsfiddle.net/b33ynvaq/1/