我将两个pcolor绘制在一起(使用m_map算法m_pcolor)。原因是第二个pcolor具有透明度,因此显示了下面的pcolor。第一个图只包含1和0,我希望它只是黑色和白色。我希望第二个使用colormap jet,但我不知道如何设置一个色图而不改变另一个。我的代码目前是:
h1 = m_pcolor(Lon', Lat', black_background);
hold on;
h = m_pcolor(Lon', Lat', input_matrix);
提前致谢, 亚当
答案 0 :(得分:1)
对于这个有限的应用程序,最简单的方法可能是在colormap上附加一行零,自己处理缩放(clim
属性),以便每个绘图都利用colormap的相应部分。
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(但这可能仅适用于同一图窗口内的不同轴,我不确定同一轴对象中的不同图)。