One dot per penguin, stacked into a column per species. The swarm packs dots side by side with no overlap, so each column's width is its density, you read the spread and the clusters, not just an average.
plotOptions.unit.scatter with
orientation: 'vertical': the value sits on the Y axis and each
category becomes a column across X. spread: 'swarm' packs equal
and near-equal values off the centre line so nothing overlaps, turning each
column into a density silhouette. The unit chart is a premium type, without a
license it renders with a trial watermark.