Plot.plot({
height: 580,
color: { type: "diverging", scheme: "PuOr" },
fx: { tickFormat: (f) => f?.name },
fy: { tickFormat: (f) => f?.name },
marks: [
Plot.contour({
fill: (x, y, { fx, fy }) => fx(x) * fy(y),
fx: [sin, sin, lin, lin],
fy: [cos, lin, lin, cos],
x1: 0,
y1: 0,
x2: fourPi,
y2: fourPi,
interval: 0.2
}),
Plot.frame()
]
})