2017-03-09 3 views
1

내 응용 프로그램에서는 동적 차트 구현을 위해 c3 차트를 사용하고 있습니다. 그 점에서 나는 값> 0에 대해서만 막대를 표시 할 필요가 있습니다. 다음은 바이올린 링크입니다.C3 차트의 특정 JSON 값 제한

2010 년부터 바를 표시해야한다는 점에서 프런트 엔드에서 JSON 재구성을 사용하여이 작업을 수행하는 것이 가능하다는 것을 알고 있습니다. 이것 이외의 다른 방법이 있습니까?

Fiddle link

JS :

var data = { "results": [{ year: 2006, amnt: 0 }, { year: 2007, amnt: 0 }, { year: 2008, amnt: 0 }, { year: 2009, amnt: 0 }, { year: 2010, amnt: 279 }, { year: 2011, amnt: 440 }, { year: 2012, amnt: 350 }, { year: 2013, amnt: 649 }, { year: 2014, amnt: 874 }, { year: 2015, amnt: 833 }, { year: 2016, amnt: 801 }] }; 

var chart = c3.generate({ 
       bindto: '#chart', 
       data: { 
        json: data.results, 
        keys: { x: 'year', value: ['amnt'] }, 
        type: 'bar', 
        colors: { 'amnt': '#8c651c' } 
       }, 
       axis: { 
        x: { 
         label: { 
          text: 'Year', 
          position: 'outer-center', 
         }, 
         type: 'category', 
         tick: { 
          centered: true 
         } 
        }, 
        y: { 
         tick: { 
          format: d3.format("$,") 
         }, 
         label: { 
          text: '($ in millions)', 
          position: 'outer-middle' 
         }, 
         padding: { 
          top: 0, 
          bottom: 0 
         } 
        } 
       }, 
       grid: { 
        y: { show: true } 
       }, 
       legend: { 
        show: false 
       } 
      }); 

HTML : JSON 데이터에

<div id="chart"></div> 

답변

1

사용 filter은 소망의 결과를 얻기 위해.

var result = data.results.filter(function(item) { 
    return item.amnt !== 0; 
}); 

Working Fiddle