Custom colour bar, excluding the Blue from RGB.

1 visualización (últimos 30 días)
Jigsaw
Jigsaw el 16 de En. de 2020
Comentada: Star Strider el 17 de En. de 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();

Respuesta aceptada

Star Strider
Star Strider el 16 de En. de 2020
Editada: Star Strider el 16 de En. de 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 comentarios
Jigsaw
Jigsaw el 17 de En. de 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 el 17 de En. de 2020
As always, my pleasure!
Thank you! The plot is the intent of your Question and my Answer, so posting it is necessary!

Iniciar sesión para comentar.

Más respuestas (1)

Stijn Haenen
Stijn Haenen el 16 de En. de 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; ..... ]

Categorías

Más información sobre Colormaps en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by