How to use different colormaps for different function in mesh plot.
11 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Using different colormaps for same axis is not logical but if I want want to somehow do it then what should I do?
x = linspace(-3,3,100); y = linspace(0,3,100);
[X,Y] = meshgrid(x,y);
Rho2 = X.*X + Y.*Y;
Z = exp(-Rho2);
Z1 = sin(sqrt(Rho2));
figure,
mesh(X,Y,Z,'FaceAlpha',1); hold on
mesh(X,Y,Z1,'FaceAlpha',1);
I'm using R2021a and freezColors function is not suporting, it shows error. Perhaps I'm using it wrong. Anybody has any idea how to do it?
Appriciate your help.
1 Commento
Walter Roberson
il 5 Set 2024
freezeColors() is a File Exchange contribution; https://www.mathworks.com/matlabcentral/fileexchange/7943-freezecolors-unfreezecolors
You need to install it to use it (possibly use the Add-On Explorer to install it)
Risposta accettata
Voss
il 5 Set 2024
Modificato: Voss
il 5 Set 2024
Here is one way:
% data
x = linspace(-3,3,100); y = linspace(0,3,100);
[X,Y] = meshgrid(x,y);
Rho2 = X.*X + Y.*Y;
Z = exp(-Rho2);
Z1 = sin(sqrt(Rho2));
% pick some colormaps
cmap = parula();
cmap1 = turbo();
% convert Z and Z1 into colors based on their respective colormaps
C = ind2rgb(round(rescale(Z,1,size(cmap,1))),cmap);
C1 = ind2rgb(round(rescale(Z1,1,size(cmap1,1))),cmap1);
% plot the meshes
figure
mesh(X,Y,Z,C,'FaceAlpha',1); hold on
mesh(X,Y,Z1,C1,'FaceAlpha',1);
4 Commenti
Voss
il 5 Set 2024
Modificato: Voss
il 5 Set 2024
No, I don't think so.
The options listed here for countour plots
basically boil down to 1) a constant color everywhere, or 2) using the current colormap. Since an axes can have only one colormap, you'd have to use the same colormap for all contour plots in a given axes. There doesn't appear to be a way to specify an array of RGB colors for a contour like you can for a surface/mesh.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Color and Styling in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

