# imagesc make all zeros white?

52 Ansichten (letzte 30 Tage)
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-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### 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 Kommentare11 ältere Kommentare anzeigen11 ältere Kommentare ausblenden
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.
I.H am 2 Jun. 2021
Okay, thank you very much

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu White finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by