2017-07-26 140 views
1

我正在嘗試將d3.js堆積的條形圖應用於Angular4。綜觀上githubstack()參考,我有我的這個組件內Angular4中的堆積條形圖

ngOnChanges(){ 
    console.log("change detected"); 
    let self = this; 
    let d3 = this.d3; 
    let d3ParentElement: any; 
    let svg: any; 
    let width: number = 500; 
    let height: number = 150; 

    if (this.parentNativeElement !== null) { 
     d3.select("svg").remove(); 
     svg = d3.select(this.parentNativeElement) 
     .append('svg') 
     .attr('width', width) 
     .attr('height', height); 

     var datas = [ 
     {month: new Date(2015, 0, 1), apples: 3840, bananas: 1920, cherries: 960, dates: 400}, 
     {month: new Date(2015, 1, 1), apples: 1600, bananas: 1440, cherries: 960, dates: 400}, 
     {month: new Date(2015, 2, 1), apples: 640, bananas: 960, cherries: 640, dates: 400}, 
     {month: new Date(2015, 3, 1), apples: 320, bananas: 480, cherries: 640, dates: 400} 
     ]; 

     var stack = d3.stack() 
     .keys(["apples", "bananas", "cherries", "dates"]) 
     .order(d3.stackOrderNone) 
     .offset(d3.stackOffsetNone); 

     var series = stack(datas); 
} 

顯然,這只是一個快照。 'datas'在最後一行造成這種情況,enter image description here但是爲什麼'series'和可能'stack'變量在'datas'數組中有問題?我也使用d3-ng2-service

+1

很好,你用更新的答案 - 也許把一個筆記放在頂部,你知道了。乾杯。 – Ryan

回答

0

我已經成功地擺脫使用錯誤的,

let stack: any; 
let series: any; 

在文件和刪除從每個「變種」的開始。