OK, I did figure out how to modify the .ZData values written to get the proper effect.
...
for k = 1:length(b)
zd=b1(k).ZData;
ix=isfinite(zd(:,1));
zd(ix,1)=zd(ix,2);
b(k).CData = zd;
b(k).FaceColor = 'flat';
end
Used subplot() to shrink images down but above mod yields
The key to how/why this works is shown in the documentation for surface properties under 'FaceColor' in how the 'CData' value is interpreted. NB: for 'flat' the LLH corner location is used for the associated face and the default value for that location in the 4-vector in bar3 is 0 for the base color of the scaled range, but the second/third vertices are set to the scaled values. The above simply replaces that zero with the scaled value for the second and thus the face to the left is now also the same color.
Somewhere in there is undoubtedly a flag/property that could be tweaked to generate the CData values to not shade the one face but I couldn't find it; it came to me overnight I had done something like this quite some time ago but I had to reinvent it as had forgotten just what/how.
Best Answer