# Colour of plot...not based on z coordinate, but on other variable.

3 Ansichten (letzte 30 Tage)
Dirk am 30 Nov. 2012
Hello
I plotted an hyperbolic parabolid surface in Matlab. The colour of the plot is based on the z-coordinate of the surface. But, now I want to visualise the result of an other function (like: f= x+y+2) on the the surface. So the colour of the surface should be based on the result of function f and not on the z-coordinate. Can somebody explain clearly how to do this? Is it a 4dplot?...and/or how this exactly works?
k = 1
x = linspace(-3,3);
y = linspace(-3,3);
[x,y] = meshgrid(x,y);
z = k*x.*y;
mesh(x,y,z)
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (2)

Jonathan Epperl am 30 Nov. 2012
'CDataSource' is the property you need. In your case:
f = x.^2+y.^2; % The "other" function
m = mesh(x,y,z) % m now contains a handle to the mesh
set(m,'CDataSource','f') % 'CDataSource' is a variable name as a string
refreshdata % That's necessary so Matlab reevaluates the CDataSource
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Dirk am 30 Nov. 2012
hmm..I dont get it.
i.e. when f = x, the points with te same x coordinate should be plotted in the same color.
When f = cte, the whole surface should be plotted in the same color.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Jonathan Epperl am 1 Dez. 2012
Did you copy&paste my code? It works fine for me. Run your code that you posted in the original post, then run my code, the color should change. Did you mess with the colormap already? Try colormap cool or something like that, that should change the colors.
Every time you change the value of 'CDataSource' (whether you assign a different variable or change the value of the variable you designated CDataSource) you will have to call refreshdata.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by