ellipse_path_svg = (coords) => {
const svg = d3.create("svg")
.attr("viewBox", [0, 0, width, height]);
var xRange = margin.left + (height - margin.right - margin.left)/2;
var yRange = margin.top + (height - margin.bottom - margin.top)/2;
var yOffset = `translate(${xRange}, 0)`;
var xOffset = `translate(0, ${yRange})`;
var xyOffset = `translate(${xRange},${yRange})`;
var yAxis = svg.append("g").attr("transform", yOffset)
.call(d3.axisLeft(y).tickValues([]).tickSizeOuter(0));
var xAxis = svg.append("g").attr("transform", xOffset)
.call(d3.axisBottom(x).ticks(3));
var orbit = svg.append("g").append("path")
.attr("fill", "none")
.attr("stroke", "black")
.attr("stroke-width", 2)
.attr("d", ellipse_path_string(coords));
return svg.node();
}