inserting colorbar in surf plots.
    8 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Ricky
      
 am 20 Aug. 2013
  
    
    
    
    
    Kommentiert: Elizabeth Grace
 am 4 Mai 2022
            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 Kommentare
Akzeptierte Antwort
  Sean de Wolski
      
      
 am 20 Aug. 2013
        
      Bearbeitet: Sean de Wolski
      
      
 am 20 Aug. 2013
  
      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 Kommentare
  Sean de Wolski
      
      
 am 20 Aug. 2013
				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.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


