关于在伪彩色图中绘制两个图像

时间:2012-06-27 06:12:47

标签: matlab color-mapping

我正在使用matlab以伪彩色数字(pcolor)显示我的数据。在pcolor中显示数据非常有用,但现在我又得到了一个数据集。如果我在一个单独的pcolor图中绘制每个数据集,一切都很好。但现在,我将这两个数据结合起来

NEW_DATA = [OLDDATA1, OLDATA2]

如果我改为对NEW_DATA进行着色,颜色就会搞砸了。这是否可以显示组合数据而不会丢失任何细节或颜色信息。在我的情况下,如果你绘制pcolor(NEW_DATA),则保持一般形状(就像[pcolor(OLDDATA1), pcolor(OLDATA2)])但有些细节变得模糊

1 个答案:

答案 0 :(得分:1)

pcolor图中,顶点颜色会缩放到颜色贴图中。您可以使用轴的'clim'属性设置缩放。我猜这里发生的事情是两个OLDDATA和两个NEWDATA之间的缩放比例不同。

最终你需要决定使用哪种缩放;如果您喜欢OLDDATA1中的原始文件,则可以执行以下操作:

pcolor(OLDDATA1);
orig_clim = get(gca,'clim'); %# just to get the color limits

pcolor(NEWDATA);
set(gca, 'clim', orig_clim);

如果您喜欢两个 OLDDATA绘图的原始缩放,并且没有适合两者的缩放,您可以手动创建一个图形,其中两个轴彼此相邻放置(而不是依赖subplot)。每个轴对象都可以有自己的clim,但这两个图看起来是连续的。

figure;
h1 = axes('units','normalized','position',[.05 .05 .45 .45]);
h2 = axes('units','normalized','position',[.5  .05 .45 .45]);
pcolor(h1, OLDDATA1);
pcolor(h2, OLDDATA2);
set(h2, 'ytick', []); %# turn off ytick (if it was on)