Colormap gradient on patch object together with a surface object
2 views (last 30 days)
Show older comments
I use surf and patch in the same plot but the colors on the patch's face changes when I add the surface. How do I get the entire colormap on the patch face?
Example:
[X,Y]=meshgrid(1:100,1:100);
Z=(X.*Y).^2;
surf(X,Y,Z)
patch('faces',[1 2 3 4],'vertices',[0 0 0; 0 100 0; 0 100 10^8; 0 0 10^8],...
'FaceColor','interp','FaceVertexCData',[0 0 10^8 10^8]')
0 Comments
Accepted Answer
Patrick Kalita
on 11 May 2012
When the surface is added, MATLAB automatically changes the figure's Renderer to OpenGL -- which has a bug in how it does color interpolation. Try manually setting the Renderer to zbuffer:
set(gcf, 'Renderer', 'zbuffer')
More Answers (0)
See Also
Categories
Find more on Polygons in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!