MATLAB caxis()函数的用法(附带实例)
MATLAB 中的 caxis() 函数控制着对应色图的数据值的映射图。它通常将被编辑的颜色数据(CData)与颜色数据映射(CDataMapping)设置为 scaled,影响着任何表面、块、图像。该函数还改变坐标轴图形对象的属性 Clim 与 ClimMode。
caxis() 函数的调用格式及说明如下表所示。
【实例】创建一个球面,并将其颜色映射为颜色表里的颜色。MATLAB 程序如下:

图 1 色轴控制图
caxis() 函数的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
caxis([cmin cmax]) | 将颜色的刻度范围设置为[cmin, cmax]。数据中小于 cmin 或大于 cmax 的,将分别映射于颜色图的第一行与最后一行;处于 cmin 与 cmax 之间的数据将线性地映射于当前色图 |
caxis('auto') | 让系统自动地计算数据的最大值与最小值对应的颜色范围,这是系统的默认状态。数据中的 Inf 对应于最大颜色值;-Inf 对应于最小颜色值;带颜色值设置为 NaN 的面或边界将不显示 |
caxis auto | 同上 |
caxis('manual') 或 caxis manual | 冻结当前颜色坐标轴的刻度范围。这样,当 hold 设置为 on 时,可使后面的图形函数使用相同的颜色范围 |
caxis(axes_handle,...) | 使用由参数 axes_handle 指定的坐标区,而非当前坐标区 |
cl = caxis | 返回一个包含当前正在使用的颜色范围的二维向量 c_f=[Cmin, Cmax] |
【实例】创建一个球面,并将其颜色映射为颜色表里的颜色。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> [X,Y,Z]=sphere(16); % 绘制由16×16个面组成的单位球面,返回球面上点的坐标矩阵X、Y、Z >> C=X.*sin(Y); % 通过矩阵X、Y定义函数表达式 C,得到三维颜色矩阵C >> subplot(1,2,1); % 将视图分割为1×2的窗口,显示视图1 >> surf(X,Y,Z,C); % 根据坐标值X、Y、Z绘制球面图,矩阵C指定球面的颜色 >> title('图1'); % 为图形添加标题 >> axis equal % 沿每个坐标轴使用相同的数据单位长度 >> subplot(1,2,2); % 将视图分割为1×2的窗口,显示视图2 >> surf(X,Y,Z,C); % 根据坐标值X、Y、Z绘制球面图,矩阵C指定球面的颜色 >> caxis([-1 0]); % 设置球面颜色图范围 >> title('图2') % 为图形添加标题 >> axis equal % 沿每个坐标轴使用相同的数据单位长度运行结果如下图所示:

图 1 色轴控制图