2017-07-26 125 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; 

在文件和删除从每个“变种”的开始。