Plotting with true colors in an uneven grid

6 次查看(过去 30 天)
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?

采纳的回答

Sean de Wolski
Sean de Wolski 2012-12-7
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.

更多回答(1 个)

Image Analyst
Image Analyst 2012-12-7

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by