I noticed first that yellow!50!green did not produce the same color as green!50!yellow. Then I tried more systematically:
\begin{tikzpicture}
\foreach\y in {0,10,...,100} {
\fill[green!\y!yellow] (.1*\y,0) rectangle ++(1,1);
\fill[yellow!\y!green] (.1*\y,2) rectangle ++(1,1);
}
\end{tikzpicture}
What exactly is going on there?


xcolorbeforetikzwith an option other thannatural, sayrgborcmykdepending on your document. Then the colors will mix properly. (Green comes from rgb, yellow from cmyk.) – Qrrbrbirlbel Jul 08 '23 at 02:01