in src/linechart.ts [39:73]
constructor(container, lineColors: string[]) {
this.lineColors = lineColors;
this.numLines = lineColors.length;
let node = container.node() as HTMLElement;
let totalWidth = node.offsetWidth;
let totalHeight = node.offsetHeight;
let margin = {top: 2, right: 0, bottom: 2, left: 2};
let width = totalWidth - margin.left - margin.right;
let height = totalHeight - margin.top - margin.bottom;
this.xScale = d3.scale.linear()
.domain([0, 0])
.range([0, width]);
this.yScale = d3.scale.linear()
.domain([0, 0])
.range([height, 0]);
this.svg = container.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", `translate(${margin.left},${margin.top})`);
this.paths = new Array(this.numLines);
for (let i = 0; i < this.numLines; i++) {
this.paths[i] = this.svg.append("path")
.attr("class", "line")
.style({
"fill": "none",
"stroke": lineColors[i],
"stroke-width": "1.5px"
});
}
}