Published
Edited
Nov 16, 2020
1 star
Insert cell
md`# If "Rejected Votes" and "I didn't vote" were a party`
Insert cell
ELECTION_YEAR = 2020
Insert cell
Insert cell
Insert cell
import { sum } from '@nuuuwan/list-utils'
Insert cell
import {
drawDistrictSeatChart,
drawParliamentChart,
getTotalPartyToSeats,
getPartyToSeatsAll,
getPartyToVotes,
getGenElecResultsList
} from '@nuuuwan/sl-elections'
Insert cell
async function getNewPartyVoteCount(year, regionID) {
return sum(
(await getGenElecResultsList(year, regionID))
.filter(r => !r.pd_code.includes('DV'))
.map(r => r.summary.electors - r.summary.valid)
);
}
Insert cell
getNewPartyVoteCount(ELECTION_YEAR, 'EC-16')
Insert cell
async function funcPartyToVotes(year, regionID) {
return Object.entries(
Object.assign(await getPartyToVotes(year, regionID), {
'👻': await getNewPartyVoteCount(year, regionID)
})
)
.sort((a, b) => b[1] - a[1])
.reduce(function(partyToVotes, [party, votes]) {
partyToVotes[party] = votes;
return partyToVotes;
}, {});
}
Insert cell
PARTY_TO_SEATS_ALL = await getPartyToSeatsAll(
ELECTION_YEAR,
Object({
funcPartyToVotes
})
)
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more