{
const [w, h] = [600, 100];
const drawAxis = (r, sc = 1) => {
const xSc = d3
.scaleLinear()
.domain([0, 1000 / sc])
.range([0.05 * w, 0.95 * w]);
const ySc = d3.scaleLinear().range([0.9 * h, 0.1 * h]);
return r
.text("Zoom to change axis scale", -0.5, -0.2)
.axisBottom(xSc, ySc, 0, 0.5);
};
const r = new Renderer(w, h).clear("bisque").fit().stroke();
r.selection().call(
d3.zoom().on("zoom", ({ transform }) => {
r.clear("bisque").push();
drawAxis(r, transform.k).pop();
})
);
return drawAxis(r).render();
}