2011-11-18 10 views
10

私は非常に多くのスライスを持つ円グラフを読んでいます。スライス数を減らすことはできますか?「他人」という名前の1つだけをグループ化するか、それを隠すことで可能ですか?highcharts:円グラフ - スライス枚数を減らす

+2

ハイチャートにあまり多くのアイテムを渡すことはできませんでしたか?送信するJSONを制御するので、送信する前に自分で集めることができます。 – mynameiscoffey

+0

関連:http://stackoverflow.com/questions/28883606/group-smaller-slices-in-pie-charts-to-improve-readability –

+0

OPとして、私はこのビヘイビアが構築されているのを見たいと思います。表示するスライスの最大数、「その他のカテゴリ」の名前、並べ替えの列と順序などが含まれます。次に、ハイチャートは、残りの列を自動的に他のカテゴリに集約し、クリックすると詳細がドリルダウンされます。また、エクスポートすると、すべてのカテゴリ(そこにグループ化されていない)が表示されます。手動で行うことはすべて痛みです。 –

答えて

6

いいえ。この動作はハイチャートに組み込まれていません。

これを達成する最も簡単な方法は、グラフに渡すデータを手動で変更することです。つまり、データを渡してグラフをレンダリングする前に、カテゴリ「その他」にグループ化すると、

0

ハイチャートの外でjavascriptを使って上記を行う人のためのポインタとして、ここにいくつかの情報を貼り付けます自分自身でした。

for(i=0; i<dataJSON.finished.length; i++) { 
    //console.info(i); 
    if(dataJSON.finished[i].name !== '_all_' && dataJSON.finished[i].name !== 'Anders')   { 
     tempValue=0; 
     for(j=0; j<dataJSON.finished[i].data.length; j++) { tempValue += dataJSON.finished[i].data[j]; } 
     if(tempValue/totalValue > 0.02) { 
     pieData.push({ name:dataJSON.finished[i].name, y:tempValue }); 
     } else andersValue += tempValue; 
    } 
    } 

    //console.info(pieData); 
    pieData.sort(function(a,b) {return (a.y > b.y) ? -1 : ((b.y > a.y) ? 1 : 0);}); 
    pieData.push({ name: "Overig", y: andersValue });