Custom colour bar, excluding the Blue from RGB.

1 vue (au cours des 30 derniers jours)
Jigsaw
Jigsaw le 16 Jan 2020
Commenté : Star Strider le 17 Jan 2020
I made a custom colour bar where 100 fell exactly at green and 200 at red. Anything from 0 to 100 along with their colours in insignificant and I'd prefer they do not show up in the colour bar. That being said, I would specifically like to have the colour bar such that it starts at the lowest (green) at 100 and ends at the highest (red) at 200.
untitled.jpg
I used the following code for the image.
figure()
A = [200 200 200 200 200; 200 200 200 200 200; 200 200 100 200 200; 200 200 200 200 200; 200 200 200 200 200];
Percent_matrix = flipud (A);
Percent_Interp = imresize(Percent_matrix,200,'bilinear');
pcolor(Percent_Interp)
shading interp
caxis([0 200])
load CustomColourMap
colormap( CustomColourMap );
colorbar();

Réponse acceptée

Star Strider
Star Strider le 16 Jan 2020
Modifié(e) : Star Strider le 16 Jan 2020
Define ‘CustomColourMap’ as:
CustomColourMap = @(x) [linspace(0,1,x).' linspace(1,0,x).' zeros(x,1)];
then to use it:
CustomColourMap = @(x) [linspace(0,1,x).' linspace(1,0,x).' zeros(x,1)];
figure()
A = [200 200 200 200 200; 200 200 200 200 200; 200 200 100 200 200; 200 200 200 200 200; 200 200 200 200 200];
Percent_matrix = flipud (A);
Percent_Interp = imresize(Percent_matrix,200,'bilinear');
pcolor(Percent_Interp)
shading interp
caxis([100 200])
% load CustomColourMap
colormap( CustomColourMap(64) );
colorbar();
produces:
Custom colour bar, excluding the Blue from RGB - 2020 01 16.png
EDIT —
Corrected typographical error.
  2 commentaires
Jigsaw
Jigsaw le 17 Jan 2020
The result is perfectly the way i wanted it. Nice of you to display the final image after using the updated code.
Thank you.
Cheers!
Star Strider
Star Strider le 17 Jan 2020
As always, my pleasure!
Thank you! The plot is the intent of your Question and my Answer, so posting it is necessary!

Connectez-vous pour commenter.

Plus de réponses (1)

Stijn Haenen
Stijn Haenen le 16 Jan 2020
Maybe you can try this:
h=figure();
A = [200 200 200 200 200; 200 200 200 200 200; 200 200 100 200 200; 200 200 200 200 200; 200 200 200 200 200];
Percent_matrix = flipud (A);
Percent_Interp = imresize(Percent_matrix,200,'bilinear');
pcolor(Percent_Interp)
shading interp
caxis([0 200])
colorbar();
h.Children(1).Limits=[100 200];
set(h,'Colormap',[Colormap_data]) % colormap data should be RBG codes: [[0.2422,0.1504,0.66030;0.2444,0.1534,0.6728;0.2464,0.1569,0.6847; ..... ]

Catégories

En savoir plus sur Colormaps dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by