MATLAB 同一图形窗口的色图改进技巧
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=65607
在上述帖子中,liuhuanjinliu 老师给了一个同一个 figure 使用多个色图显示的方法,这个
方法实际上是把别的 figure 的图像和 colorbar 复制到本图形中了,该图形窗口的色图矩阵还
是默认的第一幅图的色图矩阵。
虽然,一个图形窗口只能有一个色图,如果要显示不同色图的图形,可以有改进的措施,
其方式就是将 figure 的色图设置为该图形窗口所有坐标轴 colormap 的集合,将每一个坐标
轴中图像映射到原有范围,举个例子说明,比如有两个坐标轴,分别显示了具有色图矩阵
100*3 和 60*3 的图形,那么,我们可以集合两个色图为 160*3,第一幅图在色图矩阵中的
映射为 1 到 160,第二个为-99 到 60,这样,由于原来第一幅图色图范围为 100,从 100 到
160 将不会有 cdata 的映射,第二个原有范围为 60,从 1 到 100 将不会有 cdata 的映射。
上面的计算方式很简单,在 mathworks 官网也有一个计算方式,是根据线性映射的方式
计算的,比较复杂,但是结果是一样的。
举个例子,首先看原来图形:
(1)