I created this texture in Photoshop. It's 4096x4096 pixels, Grayscale, 16-bit, PNG. At 1.8MB the file size is reasonable, but I feel like if I could create this procedurally with nodes it would be considerably more memory-efficient, and possibly even more accurate. (I do get small artifacts when driving a ColorRamp with this texture - albeit they're only noticeable when zoomed in close.)
This is the sort of case where I usually give up and use textures, but I thought someone who is good with math might be willing to have a go at this... :-)
Furthermore, I just noticed that when this is fed into an equally-spaced 12-band ColorRamp, the bands in the mapped result are not equally spaced. So my texture doesn't serve as a very accurate map. This may be due to color space issues, and I will try to dig further in search of the cause. But this is all the more reason to try for a more precise procedural solution.
Above: The blackfirst and whitelast bands of this color ramp are visibly wider than the others, indicating that the gradient is not distributed linearly around the circular path.