我正在使用matlab以伪彩色数字(pcolor
)显示我的数据。在pcolor中显示数据非常有用,但现在我又得到了一个数据集。如果我在一个单独的pcolor图中绘制每个数据集,一切都很好。但现在,我将这两个数据结合起来
NEW_DATA = [OLDDATA1, OLDATA2]
如果我改为对NEW_DATA进行着色,颜色就会搞砸了。这是否可以显示组合数据而不会丢失任何细节或颜色信息。在我的情况下,如果你绘制pcolor(NEW_DATA)
,则保持一般形状(就像[pcolor(OLDDATA1), pcolor(OLDATA2)]
)但有些细节变得模糊
答案 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)