{
const data = (await getData()).filter(
datum =>
datum.iucn_redlist_code === 'CR' ||
datum.iucn_redlist_code === 'EN' ||
datum.iucn_redlist_code === 'VU'
);
const regionIDToCount = data.reduce(function(regionIDToCount, datum) {
return datum.district_list.reduce(function(regionIDToCount, district) {
if (!regionIDToCount[district]) {
regionIDToCount[district] = 0;
}
regionIDToCount[district] += 1;
return regionIDToCount;
}, regionIDToCount);
}, {});
const maxValue = sum(Object.values(regionIDToCount));
const maxValueRadius = 64;
return drawRegionDorlingCartogram('LK', REGION_TYPE.DISTRICT, {
width: 700,
height: 1000,
caption: `"Critially Endangered, Endangered, or Vulnerable Endemic Flowering Plants, by District `,
fRegionIDToRadius: regionID =>
maxValueRadius * Math.sqrt(regionIDToCount[regionID] / maxValue),
fAppendLabel: (regionID, svg, x, y) => null,
hue: 120,
fRegionIDToColor: regionID => 'hsla(0, 100%, 50%, 1)',
fAppendLabel: function(regionID, svg, x, y) {
const fontSize = regionIDToCount[regionID] / 3;
drawText(svg, x, y, regionIDToCount[regionID], fontSize / 2);
},
fAppendLegend: svg => null
});
}