Ein `matrix plot` beruecksichtigt den wert von `mesh/color input=colormap|explicit|explicit symbolic`, wobei der default `colormap` ist. Sobald Du das auf `explicit` setzt, kannst Du explizit Farben angeben:
\documentclass[border=3pt, varwidth]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
enlargelimits=false,
xtick=data, ytick=data, % nur xy-Werte aus Tabelle anzeigen
]
\addplot[
matrix plot,
mesh/cols=3,
mesh/color input=explicit,
]
table[meta=bgcolor] {
x y bgcolor
1 1 color=blue
2 1 color=black
3 1 color=red!50
1 2 color=blue!50
2 2 rgb255=128,128,128
% default color model is 'rgb'
3 2 1,1,0.5
};
\end{axis}
\end{tikzpicture}
\end{document}
[![alt text][1]][1]
Die Option `mesh/color input=explicit` erwartet eine explizit angegebene Farbe der Art `<farbmodell>=<werte>`, wobei `<farbmodell>` per default `rgb` ist, er dann also drei Werte zwischen und 0 und 1 erwartet. In obigem Beispiel verwende ich ein paar Standardmodelle. Details findest Du im manual unter `mesh/color input=explicit` oder `matrix plot`.
[1]: http://texwelt.de/wissen/upfiles/P_14.png