首页 > 编程笔记 > MATLAB笔记 阅读:9

MATLAB caxis()函数的用法(附带实例)

MATLAB 中的 caxis() 函数控制着对应色图的数据值的映射图。它通常将被编辑的颜色数据(CData)与颜色数据映射(CDataMapping)设置为 scaled,影响着任何表面、块、图像。该函数还改变坐标轴图形对象的属性 Clim 与 ClimMode。

caxis() 函数的调用格式及说明如下表所示。

表: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 色轴控制图

相关文章