chart = {
more;
const context = DOM.context2d(width, height);
const path = d3.geoPath(projection, context);
var size = width;
context.canvas.style.width = size + "px";
context.canvas.style.height = size + "px";
context.canvas.width = Math.floor(size * scale);
context.canvas.height = Math.floor(size * scale);
const lineWidthScale = d3
.scaleLinear()
.domain([0, count])
.range([chance.integer({ min: 1, max: 10 }), 0.25]);
context.scale(scale, scale);
context.fillStyle = chance.pickone(colors);
context.fillRect(0, 0, width, height);
context.lineCap = "round";
let lineWidthMod1 = chance.floating({ min: 0.0001, max: 0.5 });
const lineWidthMod2 = chance.floating({ min: 0.0001, max: 0.5 });
for (const value of samples(color.domain(), count)) {
const lineWidth = lineWidthScale(count);
lineWidthMod1 += 0.0001;
context.setLineDash([
count * lineWidthMod1,
count * lineWidthMod2
]);
context.lineWidth = chance.floating({ min: 0.1, max: 10 }) * lineWidth;
context.beginPath();
path(contours.contour(grid, value * valueAmp));
context.strokeStyle = colorScale(value * colorAmp);
if (chance.bool({ likelihood: lineLikelihood })) context.stroke();
yield context.canvas;
}
}