The row and column headers for a Karnaugh map are written in gray code and not binary. I am wondering why. Is it because that the Karnaugh map needs to wrap around, and gray code is symmetrical?
Gray code means that nearest neighbours in the K-map differ from one-another by only one bit. This means that the images of products of predicates (A and B and ...) on the K-map are connected subsets of the K-map as long as you define the K-map on the surface of a torus - so you can spot these factors easily. So you need (1) Gray codes AND (2) to put the map on a torus ("wrap around") to make this connectedness property of products work. The wrapping around has nothing directly to do with the Gray codes: it is a condition further to Gray codes that you need to make the K-map work.
Try drawing a K-map with binary ordering - you'll quickly see that the products of predicates - which are what you want to spot to get a minimum length representation of the truth function become scattered in this representation.