2016-10-24 5 views
0

NVd3으로 누적 막 대형 차트를 만들려고하는데 불행히도 x 축이 제대로 표시되지 않습니다. 나는 x 축에서 1999 년에서 2014 년까지의 해를 보여주고 싶지만 이것이 내가 얻는 것입니다. GraphNVD3 누적 막 대형 차트에 x 축이 제대로 표시되지 않습니다.

nvd3은 별도의 연도에 대한 모든 값을 함께 그룹화 한 것으로 보입니다. 어떤 도움을 주시면 감사하겠습니다

CENS-R1,1,1999,1999,4390 CENS-R1,1,2000,2000,4354 CENS-R1,1,2001,2001,4188

자바 스크립트 코드

var data1 = [{}], deaths = 0;

console.log(data1); 
d3.csv('data/CENS-R1/ageGroups.csv', function(data) { 
    for (var i = 0; i < 12; i++) { 
    // setup a new entry for that age group 
    data1[i] = { 
     key: "1", 
     values: [] 
    } 
    var v = i * 16; 
    // go through all the data 
    for (var j = 0; j < data.length; j++) { 
     // check if i equals the correct entries 
     if (0+v <= j && j < 16+v) { 
     data1[i].key = data[j].Age; 
     data1[i].values.push(
      { 
       "x": (new Date()).getTime(parseInt(data[j]).Year), 
       "y": parseInt(data[j].Deaths) 
      } 
     ); 
     } 
    } 
    } 
}); 
console.log(data1); 
nv.addGraph(function() { 
    var chart = nv.models.multiBarChart(); 

    // format x-axis 
    chart.xAxis.tickFormat(function(d) { return     d3.time.format('%Y')(new Date(d)) }); 

    chart.yAxis 
     .tickFormat(d3.format(',.1f')); 

    d3.select('#stacked-chart svg') 
     .datum(data1) 
     .transition() 
     .duration(500) 
     .call(chart); 

    nv.utils.windowResize(chart.update); 

    return chart; 
}); 

CSV 파일 샘플.

+0

코드를 [fiddle] (https://jsfiddle.net/)에 넣어서 누군가가 코드를 쉽게 도울 수 있도록하십시오. – shabeer90

답변

0

분명히 날짜를 파싱하는 기능이 잘못되었습니다. "x": (new Date()).getTime(parseInt(data[j]).Year)으로 새 날짜를 만드는 대신 Date.parse() 함수를 사용했는데 제대로 작동하는 것 같았습니다.

관련 문제