inserting colorbar in surf plots.
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ricky
el 20 de Ag. de 2013
Comentada: Elizabeth Grace
el 4 de Mayo de 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 comentarios
Respuesta aceptada
Sean de Wolski
el 20 de Ag. de 2013
Editada: Sean de Wolski
el 20 de Ag. de 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 comentarios
Sean de Wolski
el 20 de Ag. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Blue en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!