My first thought on seeing one of these was, how do they do that? Well, I think I’ve figured it out…

Picture credit: my mum
I bought a rainbow rose for my mum on Mother’s Day, I guessed she’d be as curious as me to know how they make them. After having a think and looking at the base of the stem it became clear.
A normal, wrong-coloured rose is created by simply putting the end of the stem in food colouring (mixed with water), the plant then sucks it up as it would normal water, and the colour spreads throughout the stem, leaves and flowers.

Lengthways section through a flower stem

Cross section through a flower stem showing different colours inject into the xylem
For a mutli-coloured rose it takes more precision, but the idea is the same. A different coloured dye is injected into each of the xylem tubes, these are around the edge of the stem and take water through the plant. Because the xylem tubes stretch from one end of the plant to the other, and do not merge, the food colouring remains separate, all the way to the petals, so that each petal is flooded with a different colour.
The evidence for this is small dots of colour around the edge of the cut stem, where the dye was injected in.