In reply to Peter Lancashire.

I have not found a truly general programmatic method that works for all data sets.
One approach is to use "data attribute maps," which give you complete control over the attributes. A difficulty with coming up with a completely general way is that the GROUP= option assigns colors not only on the NUMBER of groups, but also on the ORDER of the groups. Consequently, another method is to prepend fake data that specifies all groups and their order.