// Top stacked horizontal bar: average seats per selected party, all in one bar
selectedParties.length > 0 && seatCounts.length > 0
? Plot.plot({
marginLeft: 10,
color: {
legend: true,
label: "Partij",
domain: selectedPartyColorDomain,
range: selectedPartyColorRange
},
x: {label: "Gemiddeld aantal zetels", domain: [0, 150], grid: true, ticks: d3.range(0, 151, 15)},
y: {axis: null},
height: 70,
width: 800,
marks: [
Plot.barX(
averageSeats,
Plot.groupZ(
{x: "sum"}, // sum the zetels for each partij
{y: "", x: "zetels", fill: "party"}
)
),
Plot.ruleY(meanAndCI, {
y: "",
x1: "ciLower",
x2: "ciUpper",
stroke: "lightgrey",
marker: "none"
}),
Plot.ruleX([75], {stroke: "grey", strokeDasharray: "4,4", strokeWidth: 1})
]
})
: md`**Selecteer ten minste één partij om de grafiek te tonen.**`
VVDBBB
selectedParties.length > 0
? md`Deze coalitie haalt nu gemiddeld **${d3.sum(averageSeats, d => d.zetels).toFixed(0)}** zetels in de Peilingwijzer, maar we hebben te maken met een onzekerheidsmarge, dus het kunnen het er ook ${ciLower.toFixed(0)} of ${ciUpper.toFixed(0)} zijn (95% credible interval). Let op: dit is de situatie op het moment dat de laatste peiling werd uitgevoerd, **geen voorspelling** van de verkiezingsuitslag.`
: md``
Deze coalitie haalt nu gemiddeld 21 zetels in de Peilingwijzer, maar we hebben te maken met een onzekerheidsmarge, dus het kunnen het er ook 19 of 22 zijn (95% credible interval). Let op: dit is de situatie op het moment dat de laatste peiling werd uitgevoerd, geen voorspelling van de verkiezingsuitslag.
Aantal zetels voor deze coalitie per simulatie
seatCounts = Array.from(
d3.rollup(
coalitionSeats,
v => v.length,
d => d
),
([seats, count]) => ({
seats,
count,
percentage: 100 * count / coalitionSeats.length
})
).sort((a, b) => a.seats - b.seats)
// Barplot: percentage simulaties per exact zetelaantal
selectedParties.length > 0 && seatCounts.length > 0
? Plot.plot({
marks: [
Plot.barY(seatCounts, {
x: "seats",
y: "percentage",
title: d => `${d.seats} zetels: ${d.percentage.toFixed(1)}% van de simulaties`
})
],
x: {
label: "Aantal zetels voor coalitie",
ticks: seatCounts.length,
tickFormat: d => Number.isInteger(d) ? d : ""
},
y: {label: "Percentage simulaties"},
height: 200
})
: md`**Selecteer ten minste één partij om de grafiek te tonen.**`
percentageThresholdPlus = coalitionSeats.length > 0
? 100 * coalitionSeats.filter(d => d >= seatThreshold).length / coalitionSeats.length
: 0
md`Percentage van simulaties met ${seatThreshold} of meer zetels: **${percentageThresholdPlus.toFixed(1).toLocaleString("nl")}%**`
percentageThresholdPlus = 0
Percentage van simulaties met 76 of meer zetels: 0.0%
OpmerkingUitleg
Elke Peilingwijzer bestaat uit een grote hoeveelheid simulaties. De steun voor een partij en dus ook voor een coalitie kan per simulatie iets verschillen.
In bovenstaande grafiek is te zien hoeveel zetels de coalitie haalt in alle simulaties. Zo haalt bovenstaande coalitie 21 zetels in 40.8% van de simulaties.
Op basis daaran kun je ook uitrekenen in welk percentage van de gevallen de coalitie een bepaald minimumaantal zetels haalt (bijvoorbeeld 76). Let op: dit geldt voor de huidige situatie en is geen voorspelling van de verkiezingsuitslag.