chart= {
const svg= d3.create("svg").attr("viewBox", [0 , 0 , width, height])
const g= svg
.append("g")
.attr("class", "gDrawing")
.attr("transform", `translate( ${margin.left}, ${margin.top})`);
g.append("g")
.attr("class", "xAxis")
.attr("transform", `translate(0, ${height - margin.top - margin.bottom })`)
.append("text")
.attr("class", "axisLabel")
.style("fill", "black")
.attr("transform", `translate( ${width - margin.left - margin.right}, 60) `)
.style("text-anchor", "end");
g.append("g")
.attr("class", "yAxis")
.append("text")
.attr("transform", `translate(10, -20)`)
.attr("class", "axisLabel")
.style("fill", "black")
.style("text-anchor", "middle");
g.select(".xAxis")
.call(d3.axisBottom(x))
.selectAll("text")
.style("font-size", 8)
.attr("transform", `translate(-18, 20) rotate(-65)`)
g.select(".yAxis")
.call(d3.axisLeft(y));
g.selectAll(".series")
.data(stacked_data)
.join("g")
.attr("class", "series")
.attr("fill", d=> color(d.key))
.selectAll("rect")
.data( function(d) { return d; })
.enter()
.join("rect")
.append("rect")
.attr("x",function(d) { return x(x_attr)} )
.attr("y", function(d) { return y(d[0] + d[1] -0.025); })
.attr("height", d => iheight - y(d[1] - d[0]) )
.attr("width", x.bandwidth())
return svg.node();
}