How to make colormaps like the attached colorbar?
조회 수: 5 (최근 30일)
이전 댓글 표시
hello community,
I am quite new to colorbar interpolation techniques. Therefore, I would really appreciate your help in this regards.
I want to make a colormaps like the attached colorbar.
thanks in advance.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/807204/image.png)
댓글 수: 2
DGM
2021년 11월 20일
In what aspects?
Do you want it to be borderless?
Do you want it to be shaped the same?
Do you just want the same colors?
채택된 답변
DGM
2021년 11월 20일
편집: DGM
2021년 11월 20일
If you just want the colormap used in that image, this is it.
A = imread('colorbarimage.png');
np = 37; % number of points
x0 = 75; % centerline of bar
y0 = 181; % location of first breakpoint
yf = 767; % location of last breakpoint
dy = (yf-y0)/(np-2);
x = x0*ones(1,np);
y = y0-dy/2:dy:y0-dy+np*dy;
imshow(A); hold on; % show image
plot(x,y,'kx','linewidth',2) % and sample locations
% extract a colortable from the image
ct = im2double(squeeze(A(round(y),x0,:)))
If you want the colortable to be longer, then you can interpolate.
ctlong = interp1(1:np,ct,linspace(1,np,256))
추가 답변 (1개)
KSSV
2021년 11월 20일
편집: KSSV
2021년 11월 20일
Pick the RGB values of maximum value color you want and pick the RGB values of minimum value color you want to represent.
Let the values be:
r0 = rand ;g0 = rand ; b0 = rand ;
r1 = rand ;g1 = rand ; b1 = rand ;
M1 = [r1 g1 b1] ; % RGB valaues of color which represents maximum value
M0 = [r0 g0 b0] ; % RGB valaues of color which represents minimum value
N = 12 ; % say you want to have 64 colors/ variations between maximum and minimum
cmap = [linspace(r1,r0,N)' linspace(g1,g0,N)' linspace(b1,b0,N)'] ;
Z = peaks(100) ;
pcolor(Z)
colormap(cmap)
shading interp
colorbar
참고 항목
카테고리
Help Center 및 File Exchange에서 Red에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!