You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB对数刻度colorbar如何设置自定义可读刻度值?

MATLAB对数色标自定义刻度实现方案

核心修改思路

  • 提前设置坐标轴的对数色标属性,再生成等高线,保证填充层级与色标规则匹配
  • 显式定义等高线的对数分布层级,避免默认线性层级和对数色标冲突
  • 直接指定colorbar的刻度标签为普通数值格式,覆盖默认的科学计数法显示

可运行的正确代码

x = linspace(0,0.9);
y = logspace(-1,1);
[X,Y] = meshgrid(x,y);
Z = 220 * sqrt((1-X).*Y); % 示例自定义函数

% 先设置坐标轴为对数色标模式
set(gca,'ColorScale','log')

% 自定义等高线层级为2~30区间的对数分布,保证填充过渡平滑
contour_levels = logspace(log10(2), log10(30), 100);
[M,c] = contourf(X,Y,Z, contour_levels);
c.LineColor = 'none';

% 配置colorbar
cl = colorbar;
ylabel(cl, 'color')
cl.Ticks = [2 3 4 5 6 7 8 9 10 20 30];
% 设置刻度标签为普通数值格式
cl.TickLabels = string([2 3 4 5 6 7 8 9 10 20 30]);
% 限制colorbar显示范围和需求匹配
cl.Limits = [2 30];

兼容旧版本说明

如果使用MATLAB R2016a及更早版本,不支持string语法,可将TickLabels设置行替换为:

cl.TickLabels = cellstr(num2str([2 3 4 5 6 7 8 9 10 20 30]));

内容的提问来源于stack exchange,提问作者Michael L.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:24:08