2017-10-09 1 views
0

Ich möchte nur die 'Data1' Daten anzeigen. Dafür mache ich es mit einer Zeitüberschreitung. aber nachdem es mir noch die Werte von 'data2' zeigt. Wie kann ich das lösen?Aktualisierung der Daten des Balkendiagramms in c3.js

https://jsfiddle.net/1q5zyftL/

var data1=[['data1', 35, 205, 150, 100, 100, 200], ['data2', 130, 120, 130, 190, 100, 40]]; 

    var chart = c3.generate({ 
     data: { 
      columns: [ 
       ['data1', 30, 200, 100, 400, 150, 250], 
       ['data2', 130, 100, 140, 200, 150, 50] 
      ], 
      type: 'bar', 
      labels:true 
     }, 
     type: 'bar', 

     bar: { 
      width: { 
       ratio: 0.5 // this makes bar width 50% of length between ticks 
      } 
     }, 
     axis: { 
     rotated: true 
     } 
    }); 


    setTimeout(function() { 
     chart.load({ 
      columns: [ 
      data1[0] 
      ] 
     }); 
    }, 1000); 

Antwort

1

Verwenden Sie die unload() Methode loszuwerden Daten zu erhalten, indem es ID ist.

var data1=[['data1', 35, 205, 150, 100, 100, 200], ['data2', 130, 120, 130, 190, 100, 40]]; 

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['data1', 30, 200, 100, 400, 150, 250], 
      ['data2', 130, 100, 140, 200, 150, 50] 
     ], 
     type: 'bar', 
     labels:true 
    }, 
    type: 'bar', 

    bar: { 
     width: { 
      ratio: 0.5 // this makes bar width 50% of length between ticks 
     } 
    }, 
    axis: { 
    rotated: true 
    } 
}); 


setTimeout(function() { 
    chart.unload({ 
     ids: ['data2'] 
    }); 
}, 1000); 

Updated fiddle