These cartograms were computed using the diffusion model of Gastner and Newman. It takes a grid and desired densities and morphs the grid accordingly. One should start with an equal-area map projection on the original grid so that densities on the globe are properly reflected by areas on the deformed grid. I used the Hobo-Dyer projection.

The cartograms here represent three different types of input data: coverages which directly specify a density for coordinates on the globe, total (proportional) areas for countries, and scaling for areas of countries. Country-level data was applied to all parts of the country equally; thus, for instance, in the cereal production map Alaska is far larger than it would have been if considered on its own.

Basic Hobo-Dyer

Air pollution

Area is scaled by estimated PM2.5 density. Coverage from the Atmospheric Composition Analysis Group

Caloric intake

Countries are scaled by excess of average kcal/person/day over the FAO-estimated minimum of 1800. Data from the FAOSTAT Food Balance Sheets

Cereal production

Area of countries is proportional to production of cereals used for grain. Data from the FAOSTAT Food Balance Sheets

IP addresses

Area of countries is proportional to number of allocated IPv4 addresses. Data from MaxMind

Top universities

Area of countries is proportional to number of top 400 universities according to U.S. News & World Report. Data from World University Rankings

The diffusion model was computed using the cart package.

The country outlines are from the Natural Earth database and were parsed with shapelib. I four-colored the countries using the FAO's geopolitical ontology to determine which countries share a border. The four colors are from the pooltime color scheme and the background ocean color is from Seashells.

One of the coverages was in ArcInfo format, and it was parsed with the aigrid library which I extracted from GDAL. Country-level data was processed into lists sorted by ISO 3166-1 alpha-2 country code. This coding system is not perfect; for instance, some datasets consider the Netherlands Antilles to be a country and some do not. In most cases the problematic areas were negligible in size.