0

我在彼此之上绘制两个 pcolor(使用 m_map 算法 m_pcolor)。这样做的原因是第二个 pcolor 具有透明度,因此在下面显示 pcolor。第一个情节仅由 1 和 0 组成,我希望它只是黑白的。我希望第二个使用颜色图喷射,但我不知道如何设置一个颜色图而不更改另一个颜色图。我目前的代码是:

h1 = m_pcolor(Lon', Lat', black_background);
hold on; 
h = m_pcolor(Lon', Lat', input_matrix);

在此先感谢,亚当

4

1 回答 1

1

对于这个有限的应用程序,最简单的方法可能是在颜色图上附加一行零,自己处理缩放(clim属性),以便每个绘图都利用颜色图的适当部分。

cm=colormap('jet'); %# Nx3
cm = [cm; 0 0 0]; %# append black row: (N+1)x3

h1 = m_pcolor(Lon',Lat',black_background);
set(h1,'clim',[length(colormap),length(colormap)])

hold on
h2 = m_pcolor(Lon', Lat', input_matrix);
set(h2,'clim',[length(colormap)-1, length(colormap)-1])

这应该让你接近,但我没有测试它,因为我不在我的 matlab 机器上。

另一个选项是文件交换中的freezeColors(但这可能仅适用于同一图形窗口中的不同轴,我不确定同一轴对象中的不同绘图)。

于 2012-06-27T15:41:28.843 回答