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