inserting colorbar in surf plots.
조회 수: 12 (최근 30일)
이전 댓글 표시
Hello Everyone,
I am using surf function to create a 3D shaded surface plot. I also define a variable C which is a 3 dimensional matrix. So if my number of rows and columns in Z is 155*125, my dimension of C matrix is 155*125*3.. I fill the color matrix C with RGB colors depending upon my criteria. The problem is when I want to display colorbar in my plot, I still get the standard RGB colorbar instead of the color matrix defined by me.
How can I modify the colorbar properties, so that it shows the actual colour being used in the plot.
thanks
댓글 수: 0
채택된 답변
Sean de Wolski
2013년 8월 20일
편집: Sean de Wolski
2013년 8월 20일
Use the colormap function to set the figure's colormap to the one of your choice.
More per clarification:
%Emulate your C and Z
C = imresize(imread('peppers.png'),0.1);
Z = peaks(length(C));
Z = Z(1:size(C,1),1:ize(C,2));
%Surf it, facecolor is texturemap
surf(Z,C,'FaceColor','TextureMap');
%Extract 64 unique colors using rgb2ind, set it as the map and add colorbar
% For the peppers image this will look weird but if you have a good rgb
% image it will scale correctly.
[X, map] = rgb2ind(C,64);
colormap(map);
colorbar;
댓글 수: 3
Sean de Wolski
2013년 8월 20일
Ahh, okay. This is why a minimal working example always helps!
See more. In order to use a color bar, you will have to convert your rgb values to indices and extract the map - this is the purpose of rgb2ind.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Blue에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!