Put to white the plot space outside a geometric shape
1 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Mathieu NOE
2024-8-29
编辑:Mathieu NOE
2024-8-29
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 个评论
Mathieu NOE
2024-8-29
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
2024-8-29
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Colormaps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!