MATLAB: Making and colouring a vertical surface

vertical; surface; colour

Hi,
I'm trying to create and colour a vertical surface. I understand that 'patch' will simply create the plane, but I now need it coloured according to the data held within a variable. In essence, I want to do an upright version of the 'clown' example that is within the Matlab help for 'surface'. My thoughts are that I have to do something with surface rather than patch, but it beats me at the moment…
I've attached a figure of my isosurface, and the patch I now need coloured. Any tips would be much appreciated!
Thanks in advance

Best Answer

You can do it pretty much exactly like the clown example; your surface just needs to define a vertical plane:
c = load('clown')
[x,z] = meshgrid(1:size(c.X,2), 1:size(c.X,1));
y = 50 * ones(size(x));
surf(x,y,z,c.X);
shading flat;
colormap(c.map);