This is a chemistry experiment beloved of science teachers. Fill a tube with dilute hydrochloric acid and then dribble dilute sodium hydroxide down the side of the tube. the sodium hydroxide solution is more dense so it sinks to the bottom. At the interface, neutralisation occurs producing the rainbow. It has just occurred to me to leave one for a while next time to see if diffusion is discernible. We inject denser copper sulfate solution into the bottom of a tube of water and wait weeks for it to diffuse upwards (well, and for the water to diffuse downwards). I also need to find out if the sodium hydroxide is denser because it has a higher molecular mass or whether it is related to another factor like solubility.