imagesc make all zeros white?

조회 수: 53 (최근 30일)
Robert
Robert 2015년 9월 25일
댓글: I.H 2021년 6월 2일
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

채택된 답변

Image Analyst
Image Analyst 2015년 9월 25일
편집: Image Analyst 2015년 9월 25일
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
Image Analyst
Image Analyst 2021년 6월 1일
@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
I.H 2021년 6월 2일
Okay, thank you very much

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 White에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by