Coloring Function for mesh

3 views (last 30 days)
Eli
Eli on 21 Jun 2012
Edited: SGUNITN on 2 Dec 2020
Hey,
In default, when you make a graph via mesh(), the colouring scheme is a gradient from cold to hot as the z-axis increases in value (as z increases, the colour gets warmer). Instead, I'd like the gradient to work as a function of a 2d distance (specifically, as x^2+y^2 increases, the colour should get colder). Is there a relatively simple way to do this? Thanks!

Answers (2)

Sean de Wolski
Sean de Wolski on 21 Jun 2012
Sure:
L = membrane; %sample data
ax = mesh(L); %mesh it!
sz = size(L,1); %how big?
set(ax,'cdata',bsxfun(@hypot,(1:sz)',1:sz),'cdatamapping','scaled'); %what color?
colormap(flipud(jet)); %colder is bigger

SGUNITN
SGUNITN on 2 Dec 2020
Edited: SGUNITN on 2 Dec 2020
I am trying to plot features vs. observation (2-D data with 60 rows and 14 columns). Is it possible to use different colors for each features?

Community Treasure Hunt

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

Start Hunting!