This function allows to create colormap Nx3 array (RGB) with an arbitrary combination of colors.
RGB values between the specified colors will be smoothly connected by linear interpolation.
cmap = createcolormap(C);
cmap = createcolormap(n,C);
cmap = createcolormap(colorA, colorB);
cmap = createcolormap(n, colorA, colorB);
cmap = createcolormap(colorA, colorB, colorC, colorD, ...);
cmap = createcolormap(n, colorA, colorB, colorC, colorD, ...);
where n
is the number of segments for the output color scheme, and C
is the RGB matrix of color junctions.
-
blue-white-red (polar)
b = [0,0,1]; w = [1,1,1]; r = [1,0,0]; bwr = createcolormap(b,w,r); % 256x3 array colormap(bwr) colorbar
If you want to use dark blue and red colors, try below:
b = [0.0,0.0,0.5]; w = [1.0,1.0,1.0]; r = [0.5,0.0,0.0]; bwr = createcolormap(b,w,r); % 256x3 array colormap(bwr) colorbar
To create a more discrete color structure, input the number of elements in the first argument as shown below.
bwr = createcolormap(16,b,w,r); % 16x3 array
-
more complicated combination
colorA = [0.0,1.0,0.0]; colorB = [1.0,0.5,0.5]; colorC = [0.5,0.5,0.5]; colorD = [1.0,1.0,0.0]; cmap = createcolormap(64,colorA,colorB,colorC,colorD); % 64x3 array surf(peaks); colormap(cmap); colorbar;
-
RGB matrix
cmap = createcolormap(rand(10,3)); % 10 random colors surf(peaks); colormap(cmap); colorbar;
MIT
Takuya Miyashita
Disaster Prevention Research Institute, Kyoto University
v0.1 2021/10/01
v0.2 2021/10/09