Plot.plot({
y: {
grid: true
},
marks: [
Plot.line(data, { x: "time", y: "value", stroke: "gray" }),
Plot.ruleY([d3.mean(data.map((d) => d.value))], {
stroke: "gray"
}),
Plot.ruleY([d3.mean(regularlySampled.map((d) => d.value))], {
stroke: "blue"
}),
Plot.dot(regularlySampled, { x: "time", y: "value", fill: "blue" }),
Plot.ruleY([d3.mean(irregularlySampled.map((d) => d.value))], {
stroke: "firebrick"
}),
Plot.dot(irregularlySampled, { x: "time", y: "value", fill: "firebrick" })
]
})