About the Range Maps
The map of North America comes from Gnu/Wikimedia Commons. The map is in SVG (scalable vector graphics) format, so it is possible to write a program that highlights the states and provinces. (I had a great deal of trouble rendering the maps consistently in various browsers, so I was eventually forced to convert them all to PNG files.)
I combined information from several sources to create the range maps. The range data for Canada and the USA is from the USDA (US Department of Agriculture). These databases are in the public domain. I downloaded species lists for each state, and combined them into a master list. When I notice an occasional error I augment the USDA data with my own, derived from various sources.
Range maps are suitable for plants that evolved naturally. But cultivars, bred artificially, do not have a natural range. (Like most botanical distinctions, this is a fine one—escaped cultivars eventually develop their own "natural" ranges.) For cultivars, the closest thing to a range map is a hardiness zone map, which serves as a guide to the regions where they are likely to survive. In some ways, zone maps are simplistic, since there are other factors, such as availability of water, that influence growth. But they are the best general purpose tool we have right now.
Trouble is, the climate is warming quickly now, so zone maps are themselves a moving target, as you can see with this animation. Or compare the 1990 and 2006 maps from the Arbor Day Foundation. I started with the most recent data I could find.
So if I have range data for a plant, I display a map like the one below. (Unfortunately, Mexican range information is lacking from most of these maps because it is not present in the USDA database. The map below is an exception, obtained from a different source.)
If the plant is a cultivar, or I have zone information for it but no range information, I show the zone information instead:
If you would like to learn more about heat zones, see the Wikipedia article.