Skip to main content
Skip to main content
Population
FijiTanzaniaWestern SaharaCanada 40 million peopleUnited States 345 million peopleKazakhstanUzbekistanPapua New GuineaIndonesia 284 million peopleArgentina 45 million peopleChileDemocratic Republic of the Congo 110 million peopleSomaliaKenyaSudanChadHaitiDominican RepublicRussia 145 million peopleBahamasFalkland IslandsNorwayGreenlandTimor-LesteSouth Africa 64 million peopleLesothoMexico 131 million peopleUruguayBrazil 212 million peopleBoliviaPeruColombia 53 million peoplePanamaCosta RicaNicaraguaHondurasEl SalvadorGuatemalaBelizeVenezuelaGuyanaSurinameFrance 66 million peopleEcuadorPuerto RicoJamaicaCubaZimbabweBotswanaNamibiaSenegalMaliMauritaniaBeninNigerNigeria 233 million peopleCameroonTogoGhanaCôted'IvoireGuineaGuinea-BissauLiberiaSierra LeoneBurkina FasoCentral African RepublicRepublic of the CongoGabonEquatorial GuineaZambiaMalawiMozambiqueEswatiniAngolaBurundiIsraelLebanonMadagascarPalestineThe GambiaTunisiaAlgeriaJordanUnited Arab EmiratesQatarKuwaitIraqOmanVanuatuCambodiaThailand 72 million peopleLao PDRMyanmarVietnam 101 million peopleDem. Rep. KoreaRepublic of KoreaMongoliaIndia 1,451 million peopleBangladesh 174 million peopleBhutanNepalPakistan 251 million peopleAfghanistanTajikistanKyrgyzstanTurkmenistanIran 92 million peopleSyriaArmeniaSwedenBelarusUkrainePolandAustriaHungaryMoldovaRomaniaLithuaniaLatviaEstoniaGermany 84 million peopleBulgariaGreeceTurkey 87 million peopleAlbaniaCroatiaSwitzerlandLuxembourgBelgiumNetherlandsPortugalSpainIrelandNew CaledoniaSolomon IslandsNew ZealandAustralia 27 million peopleSri LankaChina 1,419 million peopleTaiwanItaly 59 million peopleDenmarkUnited Kingdom 69 million peopleIcelandAzerbaijanGeorgiaPhilippines 116 million peopleMalaysiaBrunei DarussalamSloveniaFinlandSlovakiaCzech RepublicEritreaJapan 124 million peopleParaguayYemenSaudi ArabiaNorthern CyprusCyprusMoroccoEgypt 117 million peopleLibyaEthiopia 132 million peopleDjiboutiSomalilandUgandaRwandaBosnia and HerzegovinaMacedoniaSerbiaMontenegroKosovoTrinidad and TobagoSouth SudanCanada 40 million peopleUnited States 345 million peopleIndonesia 284 million peopleArgentina 45 million peopleDemocratic Republic of the Congo110 million peopleRussia 145 million peopleSouth Africa 64 million peopleMexico 131 million peopleBrazil 212 million peopleColombia 53 million peopleFrance 66 million peopleNigeria 233 million peopleThailand 72 million peopleVietnam 101 million peopleIndia 1,451 million peopleBangladesh 174 million peoplePakistan 251 million peopleIran 92 million peopleGermany 84 million peopleTurkey 87 million peopleAustralia 27 million peopleChina 1,419 million peopleItaly 59 million peopleUnited Kingdom 69 million peoplePhilippines 116 million peopleJapan 124 million peopleEgypt 117 million peopleEthiopia 132 million people
import * as React from "react";
import { useState } from "react";
import type { ProjectionOption } from "react-svg-worldmap";
import WorldMap from "react-svg-worldmap";
import { populationData } from "../data/CountryData";
import { useMapTheme } from "./mapTheme";

// Switch projections to compare: in Equal Earth, Greenland shrinks and
// Africa shows its true size.
export default function EqualEarth(): JSX.Element {
const theme = useMapTheme();
const [projection, setProjection] = useState<ProjectionOption>("equalEarth");

return (
<>
<select
aria-label="Projection"
value={projection}
onChange={(e) => setProjection(e.target.value as ProjectionOption)}>
<option value="equalEarth">Equal Earth</option>
<option value="mercator">Mercator</option>
</select>
<WorldMap
{...theme}
title="Population"
color="#3b82f6"
valueSuffix="million people"
size="responsive"
data={populationData}
projection={projection}
/>
</>
);
}