Angular4中的堆积条形图
Stacked bar Chart in Angular4
我正在尝试将 d3.js 堆叠条形图应用于 Angular4。查看 stack() reference on github,我的组件中有这个
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' 导致了这个问题, 但是为什么 'series' 和可能的 'stack' 变量很难使用 'datas' 数组中的键?
我也在使用d3-ng2-service。
我使用
成功消除了错误
let stack: any;
let series: any;
在文件的开头并从每个文件中删除 'var'。
我正在尝试将 d3.js 堆叠条形图应用于 Angular4。查看 stack() reference on github,我的组件中有这个
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' 导致了这个问题,
我也在使用d3-ng2-service。
我使用
成功消除了错误let stack: any;
let series: any;
在文件的开头并从每个文件中删除 'var'。