imagesc make all zeros white?
47 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Robert
am 25 Sep. 2015
Kommentiert: I.H
am 2 Jun. 2021
I have the following code. The output is a matrix and I want all of the zeros to be displayed as white. How can I do this?
figure (1)
imagesc(testNSE);
title ('Model vs Observations All NSE')
caxis ([0,1])
colormap(jet)
colorbar
Thank you in advance for any help
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 25 Sep. 2015
Bearbeitet: Image Analyst
am 25 Sep. 2015
Set the first row of the colormap, which will represent 0 since you set up caxis to go from 0 to 1, to be [1,1,1];
myColorMap = jet(256);
myColorMap(1,:) = 1;
colormap(myColorMap);
colorbar
13 Kommentare
Image Analyst
am 1 Jun. 2021
@I.H, if you set a different top and bottom value with caxis(), you'll have to find out where the 0 value lies. So if you have the top value be 1000, and the bottom value be -200, then you can find out where zero is by fitting a line and evaluating it at zero.
coefficients = polyfit([-200, 1000], [1, 256], 1);
% y = coefficients(2) * x + coefficients(1)
zeroIndexRow = round(coefficients(1)); % Evaluate at x = 0 to get the row of the colormap
my_color_map(zeroIndexRow, :) = 1; % Set this row to all 1's to get white.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu White finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!