Jet Colormap with black and white at the ends
51 views (last 30 days)
Show older comments
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!!
0 Comments
Answers (4)
Ruger28
on 14 Sep 2020
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');
0 Comments
Star Strider
on 14 Sep 2020
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
.
0 Comments
DGM
on 15 Jan 2023
Edited: DGM
on 15 Jan 2023
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:
0 Comments
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!