можно установить цвет в каждой вершине и интерполировать между ними. Вы также можете создавать сплошные цветные полигоны, устанавливая цвет в каждой вершине одинаковой.
Из документации Matlab
fill3 (X, Y, Z, C) заполняет трехмерные многоугольники. X, Y и Z триплеты задают вершины многоугольника. Если X, Y или Z - матрица, fill3 создает n многоугольников, где n - количество столбцов в матрице. fill3 закрывает многоугольники, подключая последнюю вершину к первой, когда это необходимо.
C указывает цвет, где C - вектор или матрица индексов в текущую цветовую палитру. Если C - вектор строки, длина (C) должна быть равна размеру (X, 2) и размеру (Y, 2); если C - вектор-столбец, длина (C) должна быть равна размеру (X, 1) и размеру (Y, 1).
пример для создания многоугольника, чьи цвета в каждой вершине пропорциональны Z координат:
X = [0 1 1];
Y = [1 1 0];
Z = [0 0.5 1];
C = [Z(1)/max(Z);
Z(2)/max(Z);
Z(3)/max(Z)];
fill3(X,Y,Z,C);
%optional
colormap(hot);