2016-08-05 90 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/