Message Boards Message Boards

GROUPS:

[GIF] Celebrating 30th anniversary of the world wide web

Posted 8 days ago
178 Views
|
0 Replies
|
3 Total Likes
|

enter image description here

Today (March 12) is the 30th anniversary of the world wide web and I was curious about how "world wide" the web has become. So, I decided to create the above BubbleChart in order to explore today's (2018) internet users as percentage of population versus GDP per capita in US dollars. Bubbles size depicts countries population. And the percents for internet users come from internet world stats site and the World Bank Data Catalog.

The list of countries that appear in the BubbleChart are the following (note that I excluded some countries like North Korea and others with missing data):

countries = {Entity["Country", "Anguilla"], 
  Entity["Country", "AntiguaBarbuda"], Entity["Country", "Argentina"],
   Entity["Country", "Aruba"], Entity["Country", "Bahamas"], 
  Entity["Country", "Barbados"], Entity["Country", "Belize"], 
  Entity["Country", "Bermuda"], Entity["Country", "Bolivia"], 
  Entity["Country", "Brazil"], 
  Entity["Country", "BritishVirginIslands"], 
  Entity["Country", "Canada"], Entity["Country", "CaymanIslands"], 
  Entity["Country", "Chile"], Entity["Country", "Colombia"], 
  Entity["Country", "CostaRica"], Entity["Country", "Cuba"], 
  Entity["Country", "Dominica"], 
  Entity["Country", "DominicanRepublic"], 
  Entity["Country", "Ecuador"], Entity["Country", "ElSalvador"], 
  Entity["Country", "FalklandIslands"], 
  Entity["Country", "FrenchGuiana"], Entity["Country", "Greenland"], 
  Entity["Country", "Grenada"], Entity["Country", "Guadeloupe"], 
  Entity["Country", "Guatemala"], Entity["Country", "Guyana"], 
  Entity["Country", "Haiti"], Entity["Country", "Honduras"], 
  Entity["Country", "Jamaica"], Entity["Country", "Martinique"], 
  Entity["Country", "Mexico"], Entity["Country", "Montserrat"], 
  Entity["Country", "Nicaragua"], Entity["Country", "Panama"], 
  Entity["Country", "Paraguay"], Entity["Country", "Peru"], 
  Entity["Country", "PuertoRico"], 
  Entity["Country", "SaintKittsNevis"], 
  Entity["Country", "SaintLucia"], 
  Entity["Country", "SaintPierreMiquelon"], 
  Entity["Country", "SaintVincentGrenadines"], 
  Entity["Country", "Suriname"], Entity["Country", "TrinidadTobago"], 
  Entity["Country", "TurksCaicosIslands"], 
  Entity["Country", "UnitedStates"], Entity["Country", "Uruguay"], 
  Entity["Country", "UnitedStatesVirginIslands"], 
  Entity["Country", "Algeria"], Entity["Country", "Angola"], 
  Entity["Country", "Benin"], Entity["Country", "Botswana"], 
  Entity["Country", "BurkinaFaso"], Entity["Country", "Burundi"], 
  Entity["Country", "CapeVerde"], Entity["Country", "Cameroon"], 
  Entity["Country", "CentralAfricanRepublic"], 
  Entity["Country", "Chad"], Entity["Country", "Comoros"], 
  Entity["Country", "DemocraticRepublicCongo"], 
  Entity["Country", "IvoryCoast"], Entity["Country", "Djibouti"], 
  Entity["Country", "Egypt"], Entity["Country", "EquatorialGuinea"], 
  Entity["Country", "Ethiopia"], Entity["Country", "Gabon"], 
  Entity["Country", "Gambia"], Entity["Country", "Ghana"], 
  Entity["Country", "Guinea"], Entity["Country", "GuineaBissau"], 
  Entity["Country", "Kenya"], Entity["Country", "Lesotho"], 
  Entity["Country", "Liberia"], Entity["Country", "Libya"], 
  Entity["Country", "Madagascar"], Entity["Country", "Malawi"], 
  Entity["Country", "Mali"], Entity["Country", "Mauritania"], 
  Entity["Country", "Mauritius"], Entity["Country", "Morocco"], 
  Entity["Country", "Mozambique"], Entity["Country", "Namibia"], 
  Entity["Country", "Niger"], Entity["Country", "Nigeria"], 
  Entity["Country", "Rwanda"], Entity["Country", "SaoTomePrincipe"], 
  Entity["Country", "Senegal"], Entity["Country", "Seychelles"], 
  Entity["Country", "SierraLeone"], Entity["Country", "Somalia"], 
  Entity["Country", "SouthAfrica"], Entity["Country", "SouthSudan"], 
  Entity["Country", "Sudan"], Entity["Country", "Swaziland"], 
  Entity["Country", "Tanzania"], Entity["Country", "Togo"], 
  Entity["Country", "Tunisia"], Entity["Country", "Uganda"], 
  Entity["Country", "WesternSahara"], Entity["Country", "Zambia"], 
  Entity["Country", "Zimbabwe"], Entity["Country", "AmericanSamoa"], 
  Entity["Country", "Australia"], Entity["Country", "CookIslands"], 
  Entity["Country", "Fiji"], Entity["Country", "FrenchPolynesia"], 
  Entity["Country", "Guam"], Entity["Country", "Kiribati"], 
  Entity["Country", "MarshallIslands"], 
  Entity["Country", "Micronesia"], Entity["Country", "Nauru"], 
  Entity["Country", "NewCaledonia"], Entity["Country", "NewZealand"], 
  Entity["Country", "Niue"], 
  Entity["Country", "NorthernMarianaIslands"], 
  Entity["Country", "Palau"], Entity["Country", "PapuaNewGuinea"], 
  Entity["Country", "Samoa"], Entity["Country", "SolomonIslands"], 
  Entity["Country", "Tokelau"], Entity["Country", "Tonga"], 
  Entity["Country", "Tuvalu"], Entity["Country", "Vanuatu"], 
  Entity["Country", "Albania"], Entity["Country", "Andorra"], 
  Entity["Country", "Austria"], Entity["Country", "Belarus"], 
  Entity["Country", "Belgium"], 
  Entity["Country", "BosniaHerzegovina"], 
  Entity["Country", "Bulgaria"], Entity["Country", "Croatia"], 
  Entity["Country", "Cyprus"], Entity["Country", "CzechRepublic"], 
  Entity["Country", "Denmark"], Entity["Country", "Estonia"], 
  Entity["Country", "FaroeIslands"], Entity["Country", "Finland"], 
  Entity["Country", "France"], Entity["Country", "Germany"], 
  Entity["Country", "Gibraltar"], Entity["Country", "Greece"], 
  Entity["Country", "Hungary"], Entity["Country", "Iceland"], 
  Entity["Country", "Ireland"], Entity["Country", "Italy"], 
  Entity["Country", "Jersey"], Entity["Country", "Kosovo"], 
  Entity["Country", "Latvia"], Entity["Country", "Liechtenstein"], 
  Entity["Country", "Lithuania"], Entity["Country", "Luxembourg"], 
  Entity["Country", "Macedonia"], Entity["Country", "Malta"], 
  Entity["Country", "Moldova"], Entity["Country", "Monaco"], 
  Entity["Country", "Montenegro"], Entity["Country", "Netherlands"], 
  Entity["Country", "Norway"], Entity["Country", "Poland"], 
  Entity["Country", "Portugal"], Entity["Country", "Romania"], 
  Entity["Country", "Russia"], Entity["Country", "SanMarino"], 
  Entity["Country", "Serbia"], Entity["Country", "Slovakia"], 
  Entity["Country", "Slovenia"], Entity["Country", "Spain"], 
  Entity["Country", "Sweden"], Entity["Country", "Switzerland"], 
  Entity["Country", "Turkey"], Entity["Country", "Ukraine"], 
  Entity["Country", "UnitedKingdom"], Entity["Country", "Bahrain"], 
  Entity["Country", "Iran"], Entity["Country", "Iraq"], 
  Entity["Country", "Israel"], Entity["Country", "Jordan"], 
  Entity["Country", "Kuwait"], Entity["Country", "Lebanon"], 
  Entity["Country", "Oman"], Entity["Country", "Qatar"], 
  Entity["Country", "SaudiArabia"], Entity["Country", "Syria"], 
  Entity["Country", "UnitedArabEmirates"], 
  Entity["Country", "Afghanistan"], Entity["Country", "Armenia"], 
  Entity["Country", "Azerbaijan"], Entity["Country", "Bangladesh"], 
  Entity["Country", "Bhutan"], Entity["Country", "Brunei"], 
  Entity["Country", "Cambodia"], Entity["Country", "China"], 
  Entity["Country", "HongKong"], Entity["Country", "Georgia"], 
  Entity["Country", "India"], Entity["Country", "Indonesia"], 
  Entity["Country", "Japan"], Entity["Country", "Kazakhstan"], 
  Entity["Country", "SouthKorea"], Entity["Country", "Kyrgyzstan"], 
  Entity["Country", "Laos"], Entity["Country", "Macau"], 
  Entity["Country", "Malaysia"], Entity["Country", "Maldives"], 
  Entity["Country", "Mongolia"], Entity["Country", "Myanmar"], 
  Entity["Country", "Nepal"], Entity["Country", "Pakistan"], 
  Entity["Country", "Philippines"], Entity["Country", "Singapore"], 
  Entity["Country", "SriLanka"], Entity["Country", "Taiwan"], 
  Entity["Country", "Tajikistan"], Entity["Country", "Thailand"], 
  Entity["Country", "EastTimor"], Entity["Country", "Turkmenistan"], 
  Entity["Country", "Uzbekistan"], Entity["Country", "Vietnam"], 
  Entity["Country", "Yemen"], Entity["Country", "Venezuela"]}   

percents = {Quantity[84.2`, "Percent"], Quantity[79.5`, "Percent"], 
   Quantity[93.1`, "Percent"], Quantity[94.6`, "Percent"], 
   Quantity[83.4`, "Percent"], Quantity[79.9`, "Percent"], 
   Quantity[52.3`, "Percent"], Quantity[98.`, "Percent"], 
   Quantity[78.6`, "Percent"], Quantity[70.7`, "Percent"], 
   Quantity[46.9`, "Percent"], Quantity[89.9`, "Percent"], 
   Quantity[88.7`, "Percent"], Quantity[77.5`, "Percent"], 
   Quantity[63.2`, "Percent"], Quantity[86.7`, "Percent"], 
   Quantity[40.3`, "Percent"], Quantity[67.2`, "Percent"], 
   Quantity[61.1`, "Percent"], Quantity[79.9`, "Percent"], 
   Quantity[57.7`, "Percent"], Quantity[99.2`, "Percent"], 
   Quantity[41.4`, "Percent"], Quantity[92.1`, "Percent"], 
   Quantity[63.9`, "Percent"], Quantity[53.4`, "Percent"], 
   Quantity[42.1`, "Percent"], Quantity[50.5`, "Percent"], 
   Quantity[18.`, "Percent"], Quantity[38.2`, "Percent"], 
   Quantity[54.5`, "Percent"], Quantity[78.8`, "Percent"], 
   Quantity[65.`, "Percent"], Quantity[57.9`, "Percent"], 
   Quantity[43.`, "Percent"], Quantity[69.7`, "Percent"], 
   Quantity[89.6`, "Percent"], Quantity[67.6`, "Percent"], 
   Quantity[83.3`, "Percent"], Quantity[78.8`, "Percent"], 
   Quantity[79.6`, "Percent"], Quantity[79.6`, "Percent"], 
   Quantity[69.9`, "Percent"], Quantity[59.8`, "Percent"], 
   Quantity[73.1`, "Percent"], Quantity[78.3`, "Percent"], 
   Quantity[95.6`, "Percent"], Quantity[88.2`, "Percent"], 
   Quantity[60.6`, "Percent"], Quantity[44.2`, "Percent"], 
   Quantity[19.3`, "Percent"], Quantity[33.1`, "Percent"], 
   Quantity[39.6`, "Percent"], Quantity[18.8`, "Percent"], 
   Quantity[5.5`, "Percent"], Quantity[48.1`, "Percent"], 
   Quantity[24.8`, "Percent"], Quantity[5.4`, "Percent"], 
   Quantity[5.`, "Percent"], Quantity[15.7`, "Percent"], 
   Quantity[6.1`, "Percent"], Quantity[26.3`, "Percent"], 
   Quantity[18.5`, "Percent"], Quantity[49.5`, "Percent"], 
   Quantity[23.8`, "Percent"], Quantity[15.3`, "Percent"], 
   Quantity[47.7`, "Percent"], Quantity[18.1`, "Percent"], 
   Quantity[34.3`, "Percent"], Quantity[12.3`, "Percent"], 
   Quantity[6.3`, "Percent"], Quantity[85.`, "Percent"], 
   Quantity[27.7`, "Percent"], Quantity[8.1`, "Percent"], 
   Quantity[58.7`, "Percent"], Quantity[7.2`, "Percent"], 
   Quantity[9.5`, "Percent"], Quantity[65.3`, "Percent"], 
   Quantity[17.8`, "Percent"], Quantity[63.4`, "Percent"], 
   Quantity[62.4`, "Percent"], Quantity[17.3`, "Percent"], 
   Quantity[30.8`, "Percent"], Quantity[4.3`, "Percent"], 
   Quantity[50.2`, "Percent"], Quantity[29.8`, "Percent"], 
   Quantity[27.7`, "Percent"], Quantity[59.8`, "Percent"], 
   Quantity[70.5`, "Percent"], Quantity[11.7`, "Percent"], 
   Quantity[7.9`, "Percent"], Quantity[53.7`, "Percent"], 
   Quantity[17.3`, "Percent"], Quantity[28.5`, "Percent"], 
   Quantity[32.1`, "Percent"], Quantity[38.9`, "Percent"], 
   Quantity[11.3`, "Percent"], Quantity[67.7`, "Percent"], 
   Quantity[42.9`, "Percent"], Quantity[5.`, "Percent"], 
   Quantity[41.2`, "Percent"], Quantity[40.2`, "Percent"], 
   Quantity[39.5`, "Percent"], Quantity[87.8`, "Percent"], 
   Quantity[65.5`, "Percent"], Quantity[54.9`, "Percent"], 
   Quantity[69.1`, "Percent"], Quantity[80.9`, "Percent"], 
   Quantity[27.8`, "Percent"], Quantity[39.5`, "Percent"], 
   Quantity[53.2`, "Percent"], Quantity[53.4`, "Percent"], 
   Quantity[85.8`, "Percent"], Quantity[88.1`, "Percent"], 
   Quantity[91.8`, "Percent"], Quantity[72.5`, "Percent"], 
   Quantity[36.2`, "Percent"], Quantity[10.8`, "Percent"], 
   Quantity[50.6`, "Percent"], Quantity[12.1`, "Percent"], 
   Quantity[61.5`, "Percent"], Quantity[53.`, "Percent"], 
   Quantity[46.2`, "Percent"], Quantity[29.3`, "Percent"], 
   Quantity[65.8`, "Percent"], Quantity[87.4`, "Percent"], 
   Quantity[87.9`, "Percent"], Quantity[71.1`, "Percent"], 
   Quantity[94.4`, "Percent"], Quantity[80.7`, "Percent"], 
   Quantity[66.3`, "Percent"], Quantity[90.9`, "Percent"], 
   Quantity[81.7`, "Percent"], Quantity[87.7`, "Percent"], 
   Quantity[96.9`, "Percent"], Quantity[97.7`, "Percent"], 
   Quantity[96.4`, "Percent"], Quantity[94.3`, "Percent"], 
   Quantity[92.6`, "Percent"], Quantity[96.2`, "Percent"], 
   Quantity[94.5`, "Percent"], Quantity[70.1`, "Percent"], 
   Quantity[88.6`, "Percent"], Quantity[99.`, "Percent"], 
   Quantity[92.7`, "Percent"], Quantity[92.4`, "Percent"], 
   Quantity[70.2`, "Percent"], Quantity[80.4`, "Percent"], 
   Quantity[86.2`, "Percent"], Quantity[98.4`, "Percent"], 
   Quantity[90.4`, "Percent"], Quantity[96.9`, "Percent"], 
   Quantity[75.9`, "Percent"], Quantity[83.3`, "Percent"], 
   Quantity[71.2`, "Percent"], Quantity[95.5`, "Percent"], 
   Quantity[69.9`, "Percent"], Quantity[95.9`, "Percent"], 
   Quantity[99.2`, "Percent"], Quantity[78.1`, "Percent"], 
   Quantity[77.9`, "Percent"], Quantity[73.5`, "Percent"], 
   Quantity[76.1`, "Percent"], Quantity[52.7`, "Percent"], 
   Quantity[72.2`, "Percent"], Quantity[85.`, "Percent"], 
   Quantity[79.9`, "Percent"], Quantity[92.6`, "Percent"], 
   Quantity[96.7`, "Percent"], Quantity[91.`, "Percent"], 
   Quantity[68.4`, "Percent"], Quantity[93.`, "Percent"], 
   Quantity[94.7`, "Percent"], Quantity[98.`, "Percent"], 
   Quantity[69.1`, "Percent"], Quantity[48.3`, "Percent"], 
   Quantity[79.7`, "Percent"], Quantity[87.8`, "Percent"], 
   Quantity[97.8`, "Percent"], Quantity[91.`, "Percent"], 
   Quantity[68.5`, "Percent"], Quantity[98.1`, "Percent"], 
   Quantity[90.2`, "Percent"], Quantity[33.`, "Percent"], 
   Quantity[98.4`, "Percent"], Quantity[16.5`, "Percent"], 
   Quantity[72.5`, "Percent"], Quantity[80.6`, "Percent"], 
   Quantity[53.3`, "Percent"], Quantity[45.3`, "Percent"], 
   Quantity[94.6`, "Percent"], Quantity[49.3`, "Percent"], 
   Quantity[56.7`, "Percent"], Quantity[87.`, "Percent"], 
   Quantity[68.`, "Percent"], Quantity[34.1`, "Percent"], 
   Quantity[53.7`, "Percent"], Quantity[93.3`, "Percent"], 
   Quantity[76.4`, "Percent"], Quantity[92.6`, "Percent"], 
   Quantity[40.7`, "Percent"], Quantity[35.9`, "Percent"], 
   Quantity[81.`, "Percent"], Quantity[78.3`, "Percent"], 
   Quantity[76.5`, "Percent"], Quantity[64.1`, "Percent"], 
   Quantity[33.4`, "Percent"], Quantity[54.7`, "Percent"], 
   Quantity[22.2`, "Percent"], Quantity[62.9`, "Percent"], 
   Quantity[83.6`, "Percent"], Quantity[32.`, "Percent"], 
   Quantity[87.9`, "Percent"], Quantity[33.1`, "Percent"], 
   Quantity[82.4`, "Percent"], Quantity[31.`, "Percent"], 
   Quantity[17.9`, "Percent"], Quantity[47.7`, "Percent"], 
   Quantity[66.3`, "Percent"], Quantity[24.3`, "Percent"], 
   Quantity[53.1`, "Percent"]};

bubbles = 
 MapThread[
  Callout[{CountryData[#1, "GDPPerCapita"], #2, 
     CountryData[#1, "Population"]}, 
    CountryData[#1, "Name"]] &, {countries, percents}]

bubblesGrouped = GroupBy[bubbles, CountryData[#[[-1]], "Continent"] &]

BubbleChart[bubblesGrouped, 
 ScalingFunctions -> {"Log", "Log", Automatic}, 
 PlotLabel -> Style["Internet users vs GDP per capita", Bold, 24], 
 FrameLabel -> {Style["GDP per person in US dollars", 20], 
   Style["Internet users as percentage of population (%)", 20]}, 
 PlotTheme -> "Detailed", ImageSize -> 800, ChartStyle -> "Pastel", 
 ChartLegends -> Keys[bubblesGroups]]

enter image description here

Without using "Log" Scaling function for "internet users percents" the resulting BubbleChart is better for separating countries with high GDP per capita:

BubbleChart[bubblesGrouped, 
 ScalingFunctions -> {"Log", Automatic, Automatic}, 
 PlotLabel -> Style["Internet users vs GDP per capita", Bold, 24], 
 FrameLabel -> {Style["GDP per person in US dollars", 20], 
   Style["Internet users as percentage of population (%)", 20]}, 
 PlotTheme -> "Detailed", ImageSize -> 800, ChartStyle -> "Pastel", 
 ChartLegends -> Keys[bubblesGroups]] 

enter image description here

Finally I decided to create an animation to illustrate the growth of internet users over the last three decades. To create the custom bubble chart I used ListLogLinearPlot and for the inset map plot I used GeoRegionValuePlot. The notebook attached contains the data and some of code that used.

Looking the bubbles over the years, it looks like there is some power law in place, at least above a certain GDP per capita threshold. It would be interesting to investigate it along with the price of personal computers and smart phones over time. But I will stop here for now.

Hope you enjoyed this little computational excursion.

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract