Limit number of colormap points in a trisurf

I am trying to tell a trisurf only to use t diffrent colors in order highlight passages. My code looks like this:<br>
tri=delaunay(x,y);
plot(x,y,'.');
size(tri);
ts=trisurf(tri,x,y,z,c);
lighting none
shading interp
map=colormap(jet(t));
unfortunatly I am only able to limit the number of colors used in the colorbar, but not the trisurf itself.I know that i can change the shading to flat, but I need a slight interpolation of the color inbetween the points, but the colors used inbetween should still be limited by colormap;

1 Comment

I tried to try it but you didn't supply x and y so it bombed and I gave up. Make it easy for us to help you. What is t? It can be as large as 256. You might also look at caxis(). More help can be given if you give us code that can run.

Sign in to comment.

 Accepted Answer

Check your renderer.
get(gcf,'Renderer')
If it's OpenGL, then you've probably hit a bug in how interpolated color works in the OpenGL renderer.
If the size of x & y is large, then the system will choose OpenGL by default, but you can override that like so:
set(gcf,'Renderer','zbuffer')

1 Comment

Thanks, adding the render option solved the problem.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 5 Sep 2014

Commented:

on 5 Sep 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!