Skip to content

Instantly share code, notes, and snippets.

@curran
Last active July 4, 2017 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save curran/d297565dd98affb1ba50bafc46d285b9 to your computer and use it in GitHub Desktop.
Save curran/d297565dd98affb1ba50bafc46d285b9 to your computer and use it in GitHub Desktop.
[unlisted] WIP Mushroom Chart
license: mit
border: no

Data from World Countries Hierarchy and United Nations Population Estimates 2015, year 2017 extract.

An iteration on Fractal Pie Chart where the scaling is done using transforms (so the outline thickness also decreases with depth) and with animation. This variation violates the condition that the area of each child should be equal to the area of the parent slice, for the sake of pretty appearance. This variation also has loads more pies, for the real "fractal effect"!

This is a stop along the way for trying to actually visualize data with this technique. The main problem with the first iteration is that pies overlap each other. This experiment shows that to minimize overlap, it looks like setting the largest slice at a 45 degree angle minimizes overlap.

Uses d3-component.

web counter

forked from curran's block: Animated Fractal Pie Chart

{
"data": {
"id": "World"
},
"children": [
{
"data": {
"id": "Asia"
},
"children": [
{
"data": {
"id": "Southern Asia"
},
"children": [
{
"data": {
"id": "Afghanistan"
}
},
{
"data": {
"id": "Bangladesh"
}
},
{
"data": {
"id": "Bhutan"
}
},
{
"data": {
"id": "India"
}
},
{
"data": {
"id": "Iran (Islamic Republic of)"
}
},
{
"data": {
"id": "Maldives"
}
},
{
"data": {
"id": "Nepal"
}
},
{
"data": {
"id": "Pakistan"
}
},
{
"data": {
"id": "Sri Lanka"
}
}
]
},
{
"data": {
"id": "Western Asia"
},
"children": [
{
"data": {
"id": "Armenia"
}
},
{
"data": {
"id": "Azerbaijan"
}
},
{
"data": {
"id": "Bahrain"
}
},
{
"data": {
"id": "Cyprus"
}
},
{
"data": {
"id": "Georgia"
}
},
{
"data": {
"id": "Iraq"
}
},
{
"data": {
"id": "Israel"
}
},
{
"data": {
"id": "Jordan"
}
},
{
"data": {
"id": "Kuwait"
}
},
{
"data": {
"id": "Lebanon"
}
},
{
"data": {
"id": "Oman"
}
},
{
"data": {
"id": "Qatar"
}
},
{
"data": {
"id": "Saudi Arabia"
}
},
{
"data": {
"id": "State of Palestine"
}
},
{
"data": {
"id": "Syrian Arab Republic"
}
},
{
"data": {
"id": "Turkey"
}
},
{
"data": {
"id": "United Arab Emirates"
}
},
{
"data": {
"id": "Yemen"
}
}
]
},
{
"data": {
"id": "South-Eastern Asia"
},
"children": [
{
"data": {
"id": "Brunei Darussalam"
}
},
{
"data": {
"id": "Cambodia"
}
},
{
"data": {
"id": "Indonesia"
}
},
{
"data": {
"id": "Lao People's Democratic Republic"
}
},
{
"data": {
"id": "Malaysia"
}
},
{
"data": {
"id": "Myanmar"
}
},
{
"data": {
"id": "Philippines"
}
},
{
"data": {
"id": "Singapore"
}
},
{
"data": {
"id": "Thailand"
}
},
{
"data": {
"id": "Timor-Leste"
}
},
{
"data": {
"id": "Viet Nam"
}
}
]
},
{
"data": {
"id": "Eastern Asia"
},
"children": [
{
"data": {
"id": "China"
}
},
{
"data": {
"id": "China, Hong Kong Special Administrative Region"
}
},
{
"data": {
"id": "China, Macao Special Administrative Region"
}
},
{
"data": {
"id": "Democratic People's Republic of Korea"
}
},
{
"data": {
"id": "Japan"
}
},
{
"data": {
"id": "Mongolia"
}
},
{
"data": {
"id": "Republic of Korea"
}
}
]
},
{
"data": {
"id": "Central Asia"
},
"children": [
{
"data": {
"id": "Kazakhstan"
}
},
{
"data": {
"id": "Kyrgyzstan"
}
},
{
"data": {
"id": "Tajikistan"
}
},
{
"data": {
"id": "Turkmenistan"
}
},
{
"data": {
"id": "Uzbekistan"
}
}
]
}
]
},
{
"data": {
"id": "Europe"
},
"children": [
{
"data": {
"id": "Southern Europe"
},
"children": [
{
"data": {
"id": "Albania"
}
},
{
"data": {
"id": "Andorra"
}
},
{
"data": {
"id": "Bosnia and Herzegovina"
}
},
{
"data": {
"id": "Croatia"
}
},
{
"data": {
"id": "Gibraltar"
}
},
{
"data": {
"id": "Greece"
}
},
{
"data": {
"id": "Holy See"
}
},
{
"data": {
"id": "Italy"
}
},
{
"data": {
"id": "Malta"
}
},
{
"data": {
"id": "Montenegro"
}
},
{
"data": {
"id": "Portugal"
}
},
{
"data": {
"id": "San Marino"
}
},
{
"data": {
"id": "Serbia"
}
},
{
"data": {
"id": "Slovenia"
}
},
{
"data": {
"id": "Spain"
}
},
{
"data": {
"id": "Macedonia"
}
}
]
},
{
"data": {
"id": "Western Europe"
},
"children": [
{
"data": {
"id": "Austria"
}
},
{
"data": {
"id": "Belgium"
}
},
{
"data": {
"id": "France"
}
},
{
"data": {
"id": "Germany"
}
},
{
"data": {
"id": "Liechtenstein"
}
},
{
"data": {
"id": "Luxembourg"
}
},
{
"data": {
"id": "Monaco"
}
},
{
"data": {
"id": "Netherlands"
}
},
{
"data": {
"id": "Switzerland"
}
}
]
},
{
"data": {
"id": "Eastern Europe"
},
"children": [
{
"data": {
"id": "Belarus"
}
},
{
"data": {
"id": "Bulgaria"
}
},
{
"data": {
"id": "Czech Republic"
}
},
{
"data": {
"id": "Hungary"
}
},
{
"data": {
"id": "Poland"
}
},
{
"data": {
"id": "Republic of Moldova"
}
},
{
"data": {
"id": "Romania"
}
},
{
"data": {
"id": "Russian Federation"
}
},
{
"data": {
"id": "Slovakia"
}
},
{
"data": {
"id": "Ukraine"
}
}
]
},
{
"data": {
"id": "Northern Europe"
},
"children": [
{
"data": {
"id": "Channel Islands"
}
},
{
"data": {
"id": "Denmark"
}
},
{
"data": {
"id": "Estonia"
}
},
{
"data": {
"id": "Faeroe Islands"
}
},
{
"data": {
"id": "Finland"
}
},
{
"data": {
"id": "Iceland"
}
},
{
"data": {
"id": "Ireland"
}
},
{
"data": {
"id": "Isle of Man"
}
},
{
"data": {
"id": "Latvia"
}
},
{
"data": {
"id": "Lithuania"
}
},
{
"data": {
"id": "Norway"
}
},
{
"data": {
"id": "Sweden"
}
},
{
"data": {
"id": "United Kingdom"
}
}
]
}
]
},
{
"data": {
"id": "Africa"
},
"children": [
{
"data": {
"id": "Northern Africa"
},
"children": [
{
"data": {
"id": "Algeria"
}
},
{
"data": {
"id": "Egypt"
}
},
{
"data": {
"id": "Libya"
}
},
{
"data": {
"id": "Morocco"
}
},
{
"data": {
"id": "Sudan"
}
},
{
"data": {
"id": "Tunisia"
}
},
{
"data": {
"id": "Western Sahara"
}
}
]
},
{
"data": {
"id": "Middle Africa"
},
"children": [
{
"data": {
"id": "Angola"
}
},
{
"data": {
"id": "Cameroon"
}
},
{
"data": {
"id": "Central African Republic"
}
},
{
"data": {
"id": "Chad"
}
},
{
"data": {
"id": "Congo"
}
},
{
"data": {
"id": "Democratic Republic of the Congo"
}
},
{
"data": {
"id": "Equatorial Guinea"
}
},
{
"data": {
"id": "Gabon"
}
},
{
"data": {
"id": "Sao Tome and Principe"
}
}
]
},
{
"data": {
"id": "Western Africa"
},
"children": [
{
"data": {
"id": "Benin"
}
},
{
"data": {
"id": "Burkina Faso"
}
},
{
"data": {
"id": "Cabo Verde"
}
},
{
"data": {
"id": "Côte d'Ivoire"
}
},
{
"data": {
"id": "Gambia"
}
},
{
"data": {
"id": "Ghana"
}
},
{
"data": {
"id": "Guinea"
}
},
{
"data": {
"id": "Guinea-Bissau"
}
},
{
"data": {
"id": "Liberia"
}
},
{
"data": {
"id": "Mali"
}
},
{
"data": {
"id": "Mauritania"
}
},
{
"data": {
"id": "Niger"
}
},
{
"data": {
"id": "Nigeria"
}
},
{
"data": {
"id": "Saint Helena"
}
},
{
"data": {
"id": "Senegal"
}
},
{
"data": {
"id": "Sierra Leone"
}
},
{
"data": {
"id": "Togo"
}
}
]
},
{
"data": {
"id": "Southern Africa"
},
"children": [
{
"data": {
"id": "Botswana"
}
},
{
"data": {
"id": "Lesotho"
}
},
{
"data": {
"id": "Namibia"
}
},
{
"data": {
"id": "South Africa"
}
},
{
"data": {
"id": "Swaziland"
}
}
]
},
{
"data": {
"id": "Eastern Africa"
},
"children": [
{
"data": {
"id": "Burundi"
}
},
{
"data": {
"id": "Comoros"
}
},
{
"data": {
"id": "Djibouti"
}
},
{
"data": {
"id": "Eritrea"
}
},
{
"data": {
"id": "Ethiopia"
}
},
{
"data": {
"id": "Kenya"
}
},
{
"data": {
"id": "Madagascar"
}
},
{
"data": {
"id": "Malawi"
}
},
{
"data": {
"id": "Mauritius"
}
},
{
"data": {
"id": "Mayotte"
}
},
{
"data": {
"id": "Mozambique"
}
},
{
"data": {
"id": "Réunion"
}
},
{
"data": {
"id": "Rwanda"
}
},
{
"data": {
"id": "Seychelles"
}
},
{
"data": {
"id": "Somalia"
}
},
{
"data": {
"id": "South Sudan"
}
},
{
"data": {
"id": "Uganda"
}
},
{
"data": {
"id": "United Republic of Tanzania"
}
},
{
"data": {
"id": "Zambia"
}
},
{
"data": {
"id": "Zimbabwe"
}
}
]
}
]
},
{
"data": {
"id": "Oceania"
},
"children": [
{
"data": {
"id": "Polynesia"
},
"children": [
{
"data": {
"id": "American Samoa"
}
},
{
"data": {
"id": "Cook Islands"
}
},
{
"data": {
"id": "French Polynesia"
}
},
{
"data": {
"id": "Niue"
}
},
{
"data": {
"id": "Samoa"
}
},
{
"data": {
"id": "Tokelau"
}
},
{
"data": {
"id": "Tonga"
}
},
{
"data": {
"id": "Tuvalu"
}
},
{
"data": {
"id": "Wallis and Futuna Islands"
}
}
]
},
{
"data": {
"id": "Australia and New Zealand"
},
"children": [
{
"data": {
"id": "Australia"
}
},
{
"data": {
"id": "New Zealand"
}
}
]
},
{
"data": {
"id": "Melanesia"
},
"children": [
{
"data": {
"id": "Fiji"
}
},
{
"data": {
"id": "New Caledonia"
}
},
{
"data": {
"id": "Papua New Guinea"
}
},
{
"data": {
"id": "Solomon Islands"
}
},
{
"data": {
"id": "Vanuatu"
}
}
]
},
{
"data": {
"id": "Micronesia"
},
"children": [
{
"data": {
"id": "Guam"
}
},
{
"data": {
"id": "Kiribati"
}
},
{
"data": {
"id": "Marshall Islands"
}
},
{
"data": {
"id": "Micronesia (Federated States of)"
}
},
{
"data": {
"id": "Nauru"
}
},
{
"data": {
"id": "Northern Mariana Islands"
}
},
{
"data": {
"id": "Palau"
}
}
]
}
]
},
{
"data": {
"id": "Latin America"
},
"children": [
{
"data": {
"id": "Caribbean"
},
"children": [
{
"data": {
"id": "Anguilla"
}
},
{
"data": {
"id": "Antigua and Barbuda"
}
},
{
"data": {
"id": "Aruba"
}
},
{
"data": {
"id": "Bahamas"
}
},
{
"data": {
"id": "Barbados"
}
},
{
"data": {
"id": "British Virgin Islands"
}
},
{
"data": {
"id": "Bonaire, Sint Eustatius and Saba"
}
},
{
"data": {
"id": "Cayman Islands"
}
},
{
"data": {
"id": "Cuba"
}
},
{
"data": {
"id": "Curaçao"
}
},
{
"data": {
"id": "Dominica"
}
},
{
"data": {
"id": "Dominican Republic"
}
},
{
"data": {
"id": "Grenada"
}
},
{
"data": {
"id": "Guadeloupe"
}
},
{
"data": {
"id": "Haiti"
}
},
{
"data": {
"id": "Jamaica"
}
},
{
"data": {
"id": "Martinique"
}
},
{
"data": {
"id": "Montserrat"
}
},
{
"data": {
"id": "Puerto Rico"
}
},
{
"data": {
"id": "Saint Kitts and Nevis"
}
},
{
"data": {
"id": "Saint Lucia"
}
},
{
"data": {
"id": "Saint Vincent and the Grenadines"
}
},
{
"data": {
"id": "Sint Maarten (Dutch part)"
}
},
{
"data": {
"id": "Trinidad and Tobago"
}
},
{
"data": {
"id": "Turks and Caicos Islands"
}
},
{
"data": {
"id": "United States Virgin Islands"
}
}
]
},
{
"data": {
"id": "South America"
},
"children": [
{
"data": {
"id": "Argentina"
}
},
{
"data": {
"id": "Bolivia (Plurinational State of)"
}
},
{
"data": {
"id": "Brazil"
}
},
{
"data": {
"id": "Chile"
}
},
{
"data": {
"id": "Colombia"
}
},
{
"data": {
"id": "Ecuador"
}
},
{
"data": {
"id": "Falkland Islands (Malvinas)"
}
},
{
"data": {
"id": "French Guiana"
}
},
{
"data": {
"id": "Guyana"
}
},
{
"data": {
"id": "Paraguay"
}
},
{
"data": {
"id": "Peru"
}
},
{
"data": {
"id": "Suriname"
}
},
{
"data": {
"id": "Uruguay"
}
},
{
"data": {
"id": "Venezuela (Bolivarian Republic of)"
}
}
]
},
{
"data": {
"id": "Central America"
},
"children": [
{
"data": {
"id": "Belize"
}
},
{
"data": {
"id": "Costa Rica"
}
},
{
"data": {
"id": "El Salvador"
}
},
{
"data": {
"id": "Guatemala"
}
},
{
"data": {
"id": "Honduras"
}
},
{
"data": {
"id": "Mexico"
}
},
{
"data": {
"id": "Nicaragua"
}
},
{
"data": {
"id": "Panama"
}
}
]
}
]
},
{
"data": {
"id": ""
},
"children": [
{
"data": {
"id": "Northern America"
},
"children": [
{
"data": {
"id": "Bermuda"
}
},
{
"data": {
"id": "Canada"
}
},
{
"data": {
"id": "Greenland"
}
},
{
"data": {
"id": "Saint Pierre and Miquelon"
}
},
{
"data": {
"id": "United States of America"
}
}
]
}
]
}
]
}
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://unpkg.com/d3@4"></script>
<script src="https://unpkg.com/d3-component@3"></script>
</head>
<body style="margin: 0">
<svg width="960" height="500"></svg>
<script>
const svg = d3.select("svg");
const width = +svg.attr("width");
const height = +svg.attr("height");
const pie = d3.pie().value(d => d.value);
const outerRadius = 100;
const scalingFactor = 1.188096;
const stemWeight = 0.25;
const stemLength = 74;
const epsilon = 0.001;
const arc = d3.arc()
.innerRadius(0)
.outerRadius(outerRadius);
const slice = d3.component("path")
.render((selection, d) => {
selection
.attr("d", arc(d))
.attr("fill", "#efefef")
.attr("stroke", "#707070")
.attr("stroke-width", 6)
.attr("stroke-linejoin", "round");
});
const connector = d3.component("line")
.render((selection, {angle, sliceFraction, stem}) => {
const degrees = angle / Math.PI * 180 + 180;
selection
.attr("x1", -outerRadius)
.attr("y1", 0)
.attr("x2", -outerRadius - stem)
.attr("y2", 0)
.attr("stroke", "#727272")
.attr("stroke-width", 4)
.attr("transform", `rotate(${degrees})`);
});
const fractal = d3.component("g")
.render((selection, d) => {
const {
angle,
children,
sliceFraction,
stem
} = d;
const slices = pie(children);
const degrees = angle / Math.PI * 180;
const scale = sliceFraction * scalingFactor;
const fractals = slices
.filter(d => d.data.children)
.map(d => {
const sliceFraction = (d.endAngle - d.startAngle) / (2*Math.PI);
const scale = sliceFraction * scalingFactor;
const stem = stemWeight * stemLength*scale + (1-stemWeight) * stemLength;
return Object.assign({}, d.data, {
angle: (d.startAngle + d.endAngle) / 2 - Math.PI/2,
sliceFraction: sliceFraction,
stem: stemWeight * stemLength*scale + (1-stemWeight) * stemLength
});
});
selection
.call(slice, slices)
.call(connector, fractals)
.call(fractal, fractals);
d3.timer((time) => {
let t = time/200;
t = 1/(1+Math.pow(2, -t/3+10)) * t; // Sigmoid-ish
selection.attr("transform", `
rotate(${degrees})
translate(${outerRadius + outerRadius*scale + stem})
rotate(${-degrees + t})
scale(${scale})`)
})
});
const generateData = (value) => {
const childRatios = [1/2, 1/4, 1/8, 1/8 * 2/3, 1/8 * 1/3];
const d = { value };
if(value > epsilon){
d.children = childRatios
.map(ratio => ratio * value)
.map(generateData);
}
return d;
}
const data = generateData(1);
d3.select("svg").append("g")
.attr("transform", "translate(313, 245)")
.call(fractal, data, {
sliceFraction: 1
});
</script>
</body>
We can make this file beautiful and searchable if this error is corrected: It looks like row 5 should actually have 2 columns, instead of 3. in line 4.
country,population
More developed regions,NaN
Less developed regions,NaN
Least developed countries,NaN
Less developed regions, excluding least developed countries,NaN
Less developed regions, excluding China,NaN
High-income countries,NaN
Middle-income countries,NaN
Upper-middle-income countries,NaN
Lower-middle-income countries,NaN
Low-income countries,NaN
Sub-Saharan Africa,NaN
AFRICA,NaN
Eastern Africa,NaN
Burundi,NaN
Comoros,826000
Djibouti,911000
Eritrea,NaN
Ethiopia,NaN
Kenya,NaN
Madagascar,NaN
Malawi,NaN
Mauritius,NaN
Mayotte,253000
Mozambique,NaN
Réunion,873000
Rwanda,NaN
Seychelles,98000
Somalia,NaN
South Sudan,NaN
Uganda,NaN
United Republic of Tanzania,NaN
Zambia,NaN
Zimbabwe,NaN
Middle Africa,NaN
Angola,NaN
Cameroon,NaN
Central African Republic,NaN
Chad,NaN
Congo,NaN
Democratic Republic of the Congo,NaN
Equatorial Guinea,894000
Gabon,NaN
Sao Tome and Principe,198000
Northern Africa,NaN
Algeria,NaN
Egypt,NaN
Libya,NaN
Morocco,NaN
Sudan,NaN
Tunisia,NaN
Western Sahara,596000
Southern Africa,NaN
Botswana,NaN
Lesotho,NaN
Namibia,NaN
South Africa,NaN
Swaziland,NaN
Western Africa,NaN
Benin,NaN
Burkina Faso,NaN
Cabo Verde,533000
Côte d'Ivoire,NaN
Gambia,NaN
Ghana,NaN
Guinea,NaN
Guinea-Bissau,NaN
Liberia,NaN
Mali,NaN
Mauritania,NaN
Niger,NaN
Nigeria,NaN
Saint Helena,4000
Senegal,NaN
Sierra Leone,NaN
Togo,NaN
ASIA,NaN
Eastern Asia,NaN
China,NaN
China, Hong Kong SAR,NaN
China, Macao SAR,606000
Dem. People's Republic of Korea,NaN
Japan,NaN
Mongolia,NaN
Republic of Korea,NaN
Other non-specified areas,NaN
South-Central Asia,NaN
Central Asia,NaN
Kazakhstan,NaN
Kyrgyzstan,NaN
Tajikistan,NaN
Turkmenistan,NaN
Uzbekistan,NaN
Southern Asia,NaN
Afghanistan,NaN
Bangladesh,NaN
Bhutan,793000
India,NaN
Iran (Islamic Republic of),NaN
Maldives,376000
Nepal,NaN
Pakistan,NaN
Sri Lanka,NaN
South-Eastern Asia,NaN
Brunei Darussalam,434000
Cambodia,NaN
Indonesia,NaN
Lao People's Democratic Republic,NaN
Malaysia,NaN
Myanmar,NaN
Philippines,NaN
Singapore,NaN
Thailand,NaN
Timor-Leste,NaN
Viet Nam,NaN
Western Asia,NaN
Armenia,NaN
Azerbaijan,NaN
Bahrain,NaN
Cyprus,NaN
Georgia,NaN
Iraq,NaN
Israel,NaN
Jordan,NaN
Kuwait,NaN
Lebanon,NaN
Oman,NaN
Qatar,NaN
Saudi Arabia,NaN
State of Palestine,NaN
Syrian Arab Republic,NaN
Turkey,NaN
United Arab Emirates,NaN
Yemen,NaN
EUROPE,NaN
Eastern Europe,NaN
Belarus,NaN
Bulgaria,NaN
Czech Republic,NaN
Hungary,NaN
Poland,NaN
Republic of Moldova,NaN
Romania,NaN
Russian Federation,NaN
Slovakia,NaN
Ukraine,NaN
Northern Europe,NaN
Channel Islands,165000
Denmark,NaN
Estonia,NaN
Faeroe Islands,48000
Finland,NaN
Iceland,334000
Ireland,NaN
Isle of Man,89000
Latvia,NaN
Lithuania,NaN
Norway,NaN
Sweden,NaN
United Kingdom,NaN
Southern Europe,NaN
Albania,NaN
Andorra,69000
Bosnia and Herzegovina,NaN
Croatia,NaN
Gibraltar,32000
Greece,NaN
Holy See,1000
Italy,NaN
Malta,421000
Montenegro,626000
Portugal,NaN
San Marino,32000
Serbia,NaN
Slovenia,NaN
Spain,NaN
TFYR Macedonia,NaN
Western Europe,NaN
Austria,NaN
Belgium,NaN
France,NaN
Germany,NaN
Liechtenstein,38000
Luxembourg,584000
Monaco,38000
Netherlands,NaN
Switzerland,NaN
LATIN AMERICA AND THE CARIBBEAN,NaN
Caribbean,NaN
Anguilla,15000
Antigua and Barbuda,94000
Aruba,105000
Bahamas,397000
Barbados,286000
British Virgin Islands,31000
Caribbean Netherlands,26000
Cayman Islands,62000
Cuba,NaN
Curaçao,160000
Dominica,73000
Dominican Republic,NaN
Grenada,108000
Guadeloupe,472000
Haiti,NaN
Jamaica,NaN
Martinique,396000
Montserrat,5000
Puerto Rico,NaN
Saint Kitts and Nevis,57000
Saint Lucia,188000
Saint Vincent and the Grenadines,110000
Sint Maarten (Dutch part),40000
Trinidad and Tobago,NaN
Turks and Caicos Islands,35000
United States Virgin Islands,107000
Central America,NaN
Belize,375000
Costa Rica,NaN
El Salvador,NaN
Guatemala,NaN
Honduras,NaN
Mexico,NaN
Nicaragua,NaN
Panama,NaN
South America,NaN
Argentina,NaN
Bolivia (Plurinational State of),NaN
Brazil,NaN
Chile,NaN
Colombia,NaN
Ecuador,NaN
Falkland Islands (Malvinas),3000
French Guiana,283000
Guyana,774000
Paraguay,NaN
Peru,NaN
Suriname,552000
Uruguay,NaN
Venezuela (Bolivarian Republic of),NaN
NORTHERN AMERICA,NaN
Bermuda,61000
Canada,NaN
Greenland,56000
Saint Pierre and Miquelon,6000
United States of America,NaN
OCEANIA,NaN
Australia/New Zealand,NaN
Australia,NaN
New Zealand,NaN
Melanesia,NaN
Fiji,903000
New Caledonia,270000
Papua New Guinea,NaN
Solomon Islands,606000
Vanuatu,276000
Micronesia,537000
Guam,174000
Kiribati,116000
Marshall Islands,53000
Micronesia (Fed. States of),106000
Nauru,10000
Northern Mariana Islands,56000
Palau,22000
Polynesia,695000
American Samoa,56000
Cook Islands,21000
French Polynesia,289000
Niue,2000
Samoa,196000
Tokelau,1000
Tonga,108000
Tuvalu,10000
Wallis and Futuna Islands,13000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment