legend = () => svg.fragment`<g transform="translate(${margin.left + 5} ${margin.top - 5})">
<rect x="0" y="0" width="150" height=${10 + 20 * selectedDates.filter(d => d).length} fill="#FFF" stroke="#CCC" />
${selectedDates.filter(d => d).map((dateKey, i) => svg.fragment`
<circle cx="15" cy=${15 + 20 * i} r="5" fill=${colorScale(dateKey)} />
<text
x="25"
y=${19 + 20 * i}
text-anchor="start"
font-size="12"
font-family="var(--sans-serif)"
>${formatDateVerbose(parseDate(dateKey))}</text>
`)}
</g>`