Matlab绘图之自定义colorbar的刻度值

cb=colorbar;
set(cb,'tickdir','out')  % 朝外
set(cb,'YTick',-0.6:0.3:0.6); %色标值范围及显示间隔
set(cb,'YTickLabel',{'-0.6','-0.3','0.0','0.3','0.6'}) %具体刻度赋值

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB 中,可以使用 `contourf` 函数绘制不等间距的等高线图,并使用 `colorbar` 函数添加相应的色标。下面是一个示例代码: ```matlab % 定义 x 和 y 的网格点 x = 1:10; y = 1:10; % 定义 z 的,这里假设是一个不等间距的数据 z = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 2, 3, 4, 5, 6, 7, 8, 9, 10, 11; 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; 4, 5, 6, 7, 8, 9, 10, 11, 12, 13; 5, 6, 7, 8, 9, 10, 11, 12, 13, 14; 6, 7, 8, 9, 10, 11, 12, 13, 14, 15; 7, 8, 9, 10, 11, 12, 13, 14, 15, 16; 8, 9, 10, 11, 12, 13, 14, 15, 16, 17; 9, 10, 11, 12, 13, 14, 15, 16, 17, 18; 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]; % 绘制等高线图 contourf(x, y, z); % 添加颜色条,这里使用自定义的颜色映射 cmap = [1 0 0; 1 1 0; 0 1 0]; cmin = 1; cmax = 19; caxis([cmin, cmax]); colormap(cmap); colorbar('Ticks', linspace(cmin, cmax, size(cmap, 1)), ... 'TickLabels', arrayfun(@(x) num2str(x), linspace(cmin, cmax, size(cmap, 1)), 'UniformOutput', false)); ``` 在上面的代码中,使用 `contourf` 函数绘制了一个不等间距的等高线图,然后使用自定义的颜色映射和 `colorbar` 函数添加相应的色标。其中,`cmin` 和 `cmax` 分别表示颜色条的最小和最大,`linspace` 函数用来生成一组均匀分布的刻度,`arrayfun` 函数用来将刻度转换为字符串类型,`UniformOutput` 参数用来指定输出结果是否是统一大小的。 需要注意的是,在绘制不等间距的等高线图时,需要确保数据是按照正确的顺序排列的,否则会导致绘图出错。同时,也需要根据具体的需求选择合适的颜色映射和刻度,以便更好地展示数据的特征。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值