2016-05-06 10 views
2

私はD3に苦労しています。私はD3に引っ張っているデータセットを持っていて、棒グラフに値を設定しています。問題は、バーが多すぎることです!私は上位10の値だけを表示したい。Javascript D3 CSVからデータセットにアクセスして操作する方法

私のcsvには2つの値があり、キー(列ヘッダー)は "名前"で、値は "NumberOfTickets"です。私は最も多くのチケットを持っている10人の名前を表示したい。私は私のデータセットをソートしスプライスする必要があると仮定しますが、私はすべてを試して、それを働かせることはできません。ほとんどのチュートリアルは単純な配列に対応しており、キー値のペアを持つCSVからのデータセットではないようです。どんな助けもありがとう。ここに私のD3コードのデータセット部分があります。私はデータセットを操作する必要があるところ、これがあると仮定します。

var report = data.forEach(function(d){      
       d.Name= d.Name; 
       d.NumberOfTickets= +d.NumberOfTickets;       
      }); 
+0

[並べ替え](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)、[フィルタ](https://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) –

答えて

2

はこれを試してみてください:

var report = data.sort(function(a, b) { 
       return d3.descending(+a.NumberOfTickets, +b.NumberOfTickets); 
      }).slice(0, 10); 

あなたは以下のチケットを入手名をしたい場合は、単に「昇順」を変更します。スライスを変更したい場合は、開始番号はインクルーシブですが、終了番号は含まれていません。

関連する問題