Plotting with true colors in an uneven grid
3 views (last 30 days)
Show older comments
I would like to plot data 1) on an uneven grid, with 2) a pre-defined RGB color for each grid cell, not an indexed colormap. pcolor allows 1) and image allows 2). But is there a function that lets me do both?
Here is an example:
%Data
x = 1:3; %Both pcolor and image
y = [1 2 4 8]; %Both
z = [1:12 repmat(NaN,1,8)]; %z data for pcolor
z = reshape(z,5,4);
[xmesh,ymesh] = meshgrid([x 4],[y 10]); %Mesh for pcolor
c = reshape(lines(12),4,3,3); %Colors for image
%Pcolor
figure;
pcolor(xmesh,ymesh,z);
title('pcolor: correct grid');
%Image
figure;
image(x,y,c);
set(gca,'YDir','Normal');
title('image: correct colors');
I realize that I could index my data relative to a colormap containing only the colors I want, but is there a more direct solution?
0 Comments
Accepted Answer
Sean de Wolski
on 7 Dec 2012
pcolor is just creating a surface so you could do this explicitly yourself and then view it in two dimensions:
surf(xmesh,ymesh,z,c);view(2) %c is color!
You will have to figure out how you want to handle NaN data though.
More Answers (1)
Image Analyst
on 7 Dec 2012
Would Steve Eddins's im2html() help? http://blogs.mathworks.com/steve/2012/06/02/making-an-html-table-of-pixel-values-with-colored-cells/
0 Comments
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!