# Color polygons so each is distinct from its neighbors

I'm using ArcGIS 10, and I have a layers of 2010 Census blocks, block groups, and tracts. There are thousands of polygons in these layers. I want to color them so that each is distinct from its neighbors, but all I can figure out is how to give each one a distinct color. The color of each polygon doesn't really matter; I just want to easily distinguish each from its neighbor by color, rather than with a border.

Is that a thing that grown-up GIS people do, or is that something you only see in an elementary school map of the 50 United States?

-
(+1) Technically, ArcGIS does provide distinct colors, because it can select them randomly among (I believe) a palette of 2^24 and therefore the chances of two neighbors getting exactly the same color are low. This suggests you really want to fix a small number of readily differentiable colors and assign them so no neighboring polygons get the same color. There's an algorithm to do this for five or more colors when all polygons are connected and simply connected. (Manifold has a built-in procedure to five-color any polygon layer :-).) –  whuber Jun 8 '12 at 18:02
There is also a plugin in QGIS called "topocolour" that provides this capability. You might be able to look at their code and build something yourself if you cannot find a canned utility in ArcGIS. –  RyanDalton Jun 8 '12 at 18:16
I haven't tested this, and therefore hesitate to offer it as a reply, but a search for "color" under "ArcGIS Desktop" on ESRI's ArcScripts page returns links to a five-coloring geoprocessing tool –  whuber Jun 8 '12 at 18:19
I wrote the aforementioned topocolour plugin! I think it might struggle with thousands of polygons though, to work out all the adjacencies. I've also recently written a version in R just in case anyone wants to colour maps in R that way. I won't touch ArcGIS though! –  Spacedman Jun 8 '12 at 18:53
"Four colors suffice" (someone had to say it). –  barrycarter Jul 9 '12 at 15:47

you could apply symbology classification on a unique identifier/GWID field.

-
This won't guarantee a unique color across neighboring polygons –  user3461 Jun 21 '12 at 20:02
It should be since the RGB value can range from 0 to 255 for each, meaning there is a vast array of combinations for the R, B, and G values. so technically your won't have the same hue, unless you have well over a billion unique records. –  GISdork Jul 31 '12 at 17:37
This technique won't guarantee that two adjacent polygons have dissimilar colors in order "to easily distinguish each [polygon] from its neighbor". Even though the RGB combinations are unique they may look very similar. So if two neighboring polygons are assigned similar values, it won't be easy/possible to tell them apart. Please see whuber's first comment on the original question. –  user3461 Jul 31 '12 at 18:13