用途:为 MATLAB 图表和图形设置样式,包括分类系列配色、连续色图、品牌色组织,以及 R2025a 中 uifigure 应用的 Theme API(品牌色、深色模式、组件样式)。
主要能力:用 colororder() 设置坐标轴内多条线/柱/散点的分类系列颜色;用 colormap() 设置热图、曲面、等高线、图像的连续标量映射颜色;把品牌色集中到可复用的 struct;用 fliplightness() 派生深色变体;用 ThemeChangedFcn 响应系统或用户主题切换;用 uistyle 与 addStyle 做表格/树的条 件格式;导入 Material Design、Adobe Color、Tailwind 等外部配色方案。
使用方式:分类系列颜色用 colororder(ax, colors);连续颜色用 colormap(map)。uifigure 应用建议用 createTheme 函数集中定义 theme.primary、onPrimary、secondary、error、success、warning、border、plotColors 等语义令牌,深色模式用 fliplightness() 翻转亮度,并通过 fig.ThemeChangedFcn = @(src, ~) applyTheme(src, ax) 在主题变化时重新应用 colororder。外部配色可先提取 5-7 个关键色,用 rgb = sscanf(hex(2:end), '%2x', 3)' / 255 转成 0-1 归一化 RGB 后映射到 struct 字段。
适用场景:需要统一图表配色、组织品牌色、实现深色模式或响应系统主题变化的 MATLAB 图形与 uifigure 应用。
限制:不适用于选择图表类型或从零构建图表(用 matlab-build-chart)、构建完整应用布局(用 matlab-build-app)、一次性设置单个绘图元素颜色(直接用 Color 属性)以及非 MATLAB 样式(CSS/HTML)。R2025a Theme API 与 fliplightness() 需要 R2025a 或更高版本;显式设置组件颜色会把 ColorMode 切为 manual,导致不再自动适配主题,需用 BackgroundColorMode = "auto" 恢复。colororder 用于分类系列,colormap 用于连续渐变,两者不可混用。