2016-11-11 9 views
2

シナリオ: .csvファイルから国に関するデータを読んでいます。私はこのデータを1つの列に基づいて並べ替えることができ、スコアに基づいて上位30の国を除外することもできます。D3:csv列にないテーブルに余分な列を追加する方法

.csvファイルヘッダーから列名を取得しています。また、.csvファイルにない「Rank」列を追加したい。

どうすればいいですか?以下は

は、テーブルを生成するための私のコードです:

var table = d3.select("body").append("table") 
        .attr("style", "margin-left: 50px") 
        .attr("class", "table table-hover table-sm") 
        .attr("id", "tab_id"), 
       thead = table.append("thead") 
        .attr("class","tab-head"), 
       tbody = table.append("tbody"); 

       // Append the header row 
       thead.append("tr") 
        .selectAll("th") 
        .data(columns) 
        .enter() 
        .append("th") 
        .text(function(column) { return column; }); 

       // Create a row for each object in the data 
       var rows = tbody.selectAll("tr") 
        .data(top_nations) 
        .enter() 
        .append("tr"); 

       // create a cell in each row for each column 
       var cells = rows.selectAll("td") 
        .data(function(row) { 
         return columns.map(function(column) { 
          return { 
           column: column, value: row[column] 
          }; 
         }); 
        }) 
        .enter() 
        .append("td") 
        .attr("style", "font-family: Courier") // sets the font style 
        .html(function(d) { return d.value; }); 

は、私はここ1〜30のランキングで、追加の列を追加することはできますか?または、データを読み込んでソートしてトップ30のレコードを取得するときに何かする必要がありますか?

助けていただければ幸いです。

答えて

2

は、この方法は、私のために働いていない

+1

$('#table').find('tr').each(function(){ $(this).find('td').eq(x).after('<td>&nbsp;</td>'); }); 

xは、作成したい列の数になります試してみてください。ブラウザのコンソールにエラーが表示されます。Uncaught ReferenceError:$が定義されていません。何が問題なのかを教えてください。 –

+0

$()を使用する前にjQueryを正しく参照しているかどうかを確認してください。 –

関連する問題