Jet Colormap with black and white at the ends

조회 수: 71 (최근 30일)
AAS
AAS 2020년 9월 14일
편집: DGM 2023년 1월 15일
Is there a way to get the jet colormap to have black at its lowest end and white at its highest end instead of blue and red respectively. Just to be clear, I still want the jet colors in the middle of this band.
Thank you!!

답변 (4개)

Adam Danz
Adam Danz 2020년 9월 14일
편집: Adam Danz 2020년 9월 14일
cm = [0 0 0; jet(20); 1 1 1];

Ruger28
Ruger28 2020년 9월 14일
You could just create a colormap, and then add a single row for black and a row for white at the beginning and the end respectively. Is that you you are looking for?
JetMap = colormap(jet);
JetMap = [[0 0 0];JetMap;[1 1 1]];
xvals = [1:66];
yvals = [1:66];
scatter(xvals,yvals,100,JetMap,'filled');

Star Strider
Star Strider 2020년 9월 14일
Try this:
figure
contourf(rand(20))
grid on
colormap([0 0 0;jet(14);1 1 1]) % Append ‘White’ & ‘Black’ To The Ends Of The ‘jet’ Colormap
.

DGM
DGM 2023년 1월 15일
편집: DGM 2023년 1월 15일
Observe jet() in RGB:
CT = jet(256);
% plot the channel trajectories (it's simple PWL)
plot(CT(:,1),'r'); hold on
plot(CT(:,2),'g')
plot(CT(:,3),'b')
Replace the last colors at the endpoints with black and white instead of subdued blue and subdued red. Interpolate to form a new CT of the desired length.
% generate a new CT from a list of breakpoints
N = 256; % new CT length
x = [0 1 3 5 7 8]/8;
CT0 = [0 0 0; 0 0 1; 0 1 1; 1 1 0; 1 0 0; 1 1 1];
xf = linspace(0,1,N);
CT = interp1(x,CT0,xf,'linear','extrap');
% plot the channel trajectories (ends are now B/W)
plot(CT(:,1),'r'); hold on
plot(CT(:,2),'g')
plot(CT(:,3),'b')
Try it out
% use the map to plot something
x = linspace(-pi/2,pi/2,30);
y = x.';
z = sin(x).*sin(y);
surf(x,y,z)
colormap(CT)
colorbar
view(-17,50)
See also:

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by