I'm a junior GIS tech, trying to make a map as part of an infographic. I wanted to do one where the size of polygons varied with a particular numeric attribute.

Something like this one, where each country's size is skewed by its population, but on a much smaller scale.

Does anyone know how to do this using ArcGIS?

  • 8
    The word you're looking for is cartogram, which should help your search. Feb 21, 2016 at 0:18

2 Answers 2


The Esri blog Exploring Data Using Cartograms within ArcGIS Desktop seems to cover this:

Cartograms, because they distort our normal view of things, are wonderfully rich research and teaching tools. A distance cartogram shows relative travel times and directions within a network. An area cartogram is a map in which some variable is used instead of the land area in each polygon to compute the size of that polygon.

Their Prototype Lab has developed the Cartogram Geoprocessing Tool version 2 which is:

A Geoprocessing Tool to make Cartograms. Cartograms are a transformation of a map where the original polygons expand or contract their area based on an attribute value they have. A typical example is a cartogram made using the population of the original areas.


There's a very good cartogram program called ScapeToad, which lets you perform similar analyses, and works with .shp files as input and output. There are several parameters to define, which are explained in the site's help, as well as in the program itself. It runs on Java, and thus doesn't depend on any specific GIS environment. You simply import the resulting files into whatever GIS program you're using.

Here's an example of a map I produced with it, of country size as factor of the number of internet TLD's

enter image description here

  • Scapetoad works much better than the ESRI tool imo
    – jotamon
    Feb 24, 2016 at 2:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.