Why is a rainbow coloured ?
Rainbows have colors because of refraction. The different colors of the visible portion of the electromagnetic spectrum are separated based on their wavelength and frequency. The color with the lowest frequency and longest wavelength, which is red, is placed at the top. The color with the highest frequency and shortest wavelength, which is violet, is placed at the bottom.
—–
Because the light spectrum of the sun is colored. When you see a rainbow, you are seeing the light spectrum spread-out. Everything you see that is a particular color is reflecting only certain colors of the light spectrum..