Colors pervade much of chemistry. Sure, some days it seems like almost everything is a white powder or a clear liquid, but a little mixing, and - presto - you've got any color you desire.
If you want a rainbow of chemical colors, the first question is: "do you want colors side by side, or each color in turn?" Second would probably be "how hazardous of chemicals are you willing to work with?" And then of course, "how much are you willing to spend?"
If you're on a tight budget, you can get a rainbow cheaply with four (count them, four!) chemicals.
Number one: water. Tap water will do, or a gallon of distilled water from the store if you feel the need to splurge.
Number two: hydrochloric acid. You can buy a dilute solution of this from most any chemical supplier. A couple of reasonably priced suppliers are listed at the end of this article. Hydrochloric acid is also known as muriatic acid, and can be found at swimming pool suppliers and as drain clog removers.
Number three: sodium hydroxide. You're best off buying this from a chemical company. They sell it as a dilute solution or as solid pellets. Unless you have other uses for it, I suggest the dilute solution. (Less chance of chemical burns you don't need.)
Number four: universal indicator. This is marvelous stuff, and you will have to buy it from a chemical supplier. It's really just a mixture of indicators, but it is the solution that creates the colors here. The red end of the spectrum occurs at strongly acidic pH, purple at strongly basic pH, and all the colors spread over the range in between.
In a single flask, you can put some water with a few drops of universal indicator, and then titrate it up and down the spectrum by adding acid or base accordingly. (Kids love this.) You'll get the best results if you keep the solution mixing on a stir plate as you add acid and base. For improved visibility and dramatic effect, place a white light behind the flask.
If you prefer to have the colors side by side, simply have a row of beakers, test tubes, or flasks, each with water and a few drops of universal indicator, and add acid or base to adjust their colors accordingly. (Again, the light adds to the effect.)
If a simple pH indicator doesn't impress you, then consider fire. Flame tests are used to identify metals. Different metals have different characteristic emission spectra - the colors they give off when heated in a flame. (This is also how different colors of fireworks are achieved.)
While a Bunsen burner works well for a single flame, it doesn't work very well for a row of colors, as each requires a hand to hold the sample loop. A row of students can achieve this, but instead, try the alcohol approach. (No, I don't mean go get drunk.) Set shallow glass dishes of alcohol out in a row. (Watch glasses work in a pinch, but a flat petri-dish type shape is superior.) To each, add the salt of the appropriate metal. (Chloride salts work well, and are easy to come by.) Red: strontium chloride or lithium chloride. Orange: calcium chloride. Yellow: sodium chloride. Green: copper chloride or barium chloride. Violet: potassium chloride.
You can also produce a variety of colors through chemical reactions. Copper in strong acid turns into a blue solution, for instance. The mixture of lead nitrate and potassium iodide solutions produces an intense yellow precipitate (lead iodide). (Other colorful precipitates are often produced using cobalt, barium, and copper salts. You could even grow crystals in the various colors, making a more lasting array. Use your imagination (and knowledge of chemistry) to vary your experiments, and never get stuck with a clear and white day again.
Some chemical (and lab equipment) suppliers:
Flinn Scientific - www.flinnsci.com (my favorite for teachers)
VWR - www.vwr.com (pricier, unless you establish a business account with a discount)