2014-02-12 2 views
0

d3에서이 코드를 실행하여 테이블의 열을 정렬합니다.내 코드에서 열 데이터를 문자열로 변환하는 방법

var upSort = thead.selectAll("th")   
    .on("click", (function(d,i) { 
     d3.select(this).attr("id", "hello"), 
     rows.sort(function(a, b) { 
      return d3.ascending(a[i], b[i]); 
     }) 
    })); 

나는 많은 문제를 가지고 있지만 즉각적인 하나는 열 0 문자열이 아닌 부동이고 내가 어디에서 어떻게 부동 소수점으로 돌리 알아낼 수 없다. parseInt 또는 +를 사용해야한다는 것을 알고 있습니다.

나는과 같이 모든 날짜를로드

d3.text("data.tsv",  
     function(dataset){ 

      var data = d3.tsv.parseRows(dataset); 

      var table = d3.select("body") 
       .append("table"), 
      thead = table.append("thead"), 
      tbody = table.append("tbody"); 

      a = data.shift(); 

      var header = d3.select("thead").selectAll("th") 
       .data(a) 
       .enter() 
       .append("th") 
       .style("border", "1px black solid") 
       .style("padding", "5px") 
       .text(function(d) { return d; }); 

또는 내가 여기 변경해야합니다 수 있을까요?

+0

아마도 [에서는 parseFloat (http://ecma-international.org/ecma-262/5.1/#sec-15.1.2.3)? – RobG

답변

0

사용 parseFloat

rows.sort(function(a, b) { 
     return d3.ascending(parseFloat(a[i]), parseFloat(b[i])); 
    }) 
+0

감사합니다. 그것이 어디로 가야 하는지를 알 수 없었다. – user3303832

관련 문제