Put to white the plot space outside a geometric shape

1 view (last 30 days)
Dear all
I am using the attached colorbar to generate some plots, which looks like this:
As you can see, because the colorbar seems to not assign a plain white color to zeros, the background color outside the geometric shape has some residual color. How could I avoid this problem efficiently?

Accepted Answer

Mathieu NOE
Mathieu NOE on 29 Aug 2024
Edited: Mathieu NOE on 29 Aug 2024
hello
have you checked that the colorbar is symetric around zero (to have white color correspind to zero exactly ? )
this requires to use caxis as in example below (the seond plot is "whiter" than the first one).
RdBu250cbrewer = readmatrix('RdBu_250_cbrewer2.txt');
Z = peaks(100) + 1 ;
% without caxis
figure(1),
imagesc(Z)
colormap(RdBu250cbrewer);
colorbar('vert')
% with caxis
figure(2),
zm = max(abs(Z),[],'all');
imagesc(Z)
colormap(RdBu250cbrewer);
caxis([-zm zm]) % force colors to be used symmetricaly so white correspond to zero
colorbar('vert')
  3 Comments
Mathieu NOE
Mathieu NOE on 29 Aug 2024
there are lot's a colormap generators on Fex, for my fun I used this one :
her's the result obtained (code below)
% with redwhiteblue
% (Fex : https://fr.mathworks.com/matlabcentral/fileexchange/86932-red-white-blue-colormap)
figure(3)
imagesc(Z)
zmin = min(Z,[],'all');
zmax = max(Z,[],'all');
colormap(redwhiteblue(zmin, zmax));
colorbar;
DGM
DGM on 29 Aug 2024
I'll add that the RdBu map never reaches white in the center. It maxes out at [0.9686 0.9686 0.9686]. Since the given map is even length, it never actually includes this neutral color.

Sign in to comment.

More Answers (0)

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!