chart= {
const svg= d3.create("svg")
.attr("viewBox", ([0, 0, width, height + 410]));
const grouping= svg.append("g");
grouping.append("path")
.join("path")
.attr("transform", `translate(${ margin.left }, ${ margin.height - 50})`)
.attr("d", path(land))
.attr("fill", "#E8E8E8")
.attr("stroke", "#000")
.attr("stroke-width", 0.15);
grouping.append("path")
.join("path")
.attr("d", path(borders))
.attr("fill", "none")
.attr("stroke", "black")
.attr("stroke-width", 0.15);
grouping.append("path")
.join("path")
.attr("d", path(graticule))
.attr("stroke", "#ccc")
.attr("fill", "none")
.attr("stroke-width", 0.45);
grouping.selectAll("circle")
.data(data_power)
.join("circle")
.attr("cx", d=> projection([d.Longitude, d.Latitude])[0])
.attr("cy", d=> projection([d.Longitude, d.Latitude])[1])
.attr("fill", "rgb(217, 91, 67)")
.attr("r", 2)
svg.selectAll("text")
.data(data_power_name_notEdit)
.enter()
.append("text")
.text(function(d){
return d["Name"];
})
.attr("x", function(d) { return projection([d.Longitude, d.Latitude ])[0] + 10; })
.attr("y", function(d) { return projection([d.Longitude, d.Latitude])[1] - 15;})
.attr("class", "label");
const grouping_bar= svg.append("g")
.attr("transform", `translate(${width /5.6}, ${height - 65})`);
grouping_bar.append("svg:image")
.attr("xlink:href", bar_chart_image)
.attr("width", 580)
.attr("height", 520)
return svg.node();
}