data = {
const categories = {
"DIV I - III: Sec. Binafsi": "DIV I - III: Sec. Binafsi",
"DIV IV - 0: Sec. Binafsi": "DIV IV - 0: Sec. Binafsi",
"DIV I - III: Sec. Umma": "DIV I - III: Sec. Umma",
"DIV IV - 0: Sec. Umma": "DIV IV - 0: Sec. Umma"
};
const data = d3.csvParse(await FileAttachment("ftna_long.csv").text(), ({speaker: name, ruling: category, count: value}) => categories[category] ? {name, category: categories[category], value: +value} : null);
d3.rollup(data, group => {
const sum = d3.sum(group, d => d.value);
for (const d of group) d.value /= sum;
}, d => d.name);
return Object.assign(data, {
format: ".0%",
negative: "← Sekondari Binafsi",
positive: "Sekondari Umma →",
negatives: ["DIV I - III: Sec. Binafsi","DIV IV - 0: Sec. Binafsi"],
positives: [ "DIV I - III: Sec. Umma","DIV IV - 0: Sec. Umma"]
});
}