Plot.plot({
width,
height: 3000,
facet: {
data: data,
y: "name_region",
marginRight: 150,
label: "Region",
},
color: {
legend: true,
},
x: {
tickFormat: (d) =>
Math.abs(d - Math.round(d)) < 0.1 ? d3.format(",")(10 ** d) : "·",
label: "registered voters →"
},
y: {
label: "percent of communes of like size"
},
marks: [
Plot.frame(),
Plot.rectY(
data,
Plot.binX(
{ y: "sum" },
{
title: (d) =>
`${d.name_commune} \n ${d.vote_pct}% of ${d.registered_voters} registered voters`,
fill: (d) => d.leader,
x: (d) => Math.log10(d.registered_voters),
y: "registered_voters",
offset: "expand"
}
)
)
]
})