I've talked about colour in snowflakes on many occasions, but this example gives a clear understanding of why certain colours are generated. It's all based around the thickness of the bubbles trapped in the ice.
You can clearly see the colour changes in stages within this crystal, and each stage is defined by a different thickness of the trapped bubble in the ice. The bigger the bubble, the thinner the ice on either side of it. The thickness of the ice determines the colours you see, and this radiant snowflake beauty to the science.
Not all snowflakes exhibit these colours - it's quite rare. On the occasions that they occur, they almost always occur near the center of a snowflake. The same phenomenon, known as thin film interference, also makes rainbows in soap bubbles. Unlike soap bubbles however, a snowflake is much more "static" resulting in solid colours that remain the same as long as the snowflake doesn't melt.
For those curious to learn more about the colour of snow, there is an entire section on that in my new book: http://skycrystals.ca/ - check it out. :)