Main Content

colorbar

显示色阶的颜色栏

说明

示例

colorbar 在当前坐标区或图的右侧显示一个垂直颜色栏。颜色栏显示当前颜色图并指示数据值到颜色图的映射。

示例

colorbar(location) 在特定位置显示颜色栏,例如 'northoutside'。并非所有类型的图都支持修改颜色栏位置。

示例

colorbar(___,Name,Value) 使用一个或多个名称-值对组参量修改颜色栏外观。例如,'Direction','reverse' 将反转色阶。指定 Name,Value 作为上述任一语法中的最后一个参量对组。并非所有类型的图都支持修改颜色栏外观。

colorbar(target,___)target 指定的坐标区或图上添加一个颜色栏。将目标坐标区或图指定为任一上述语法中的第一个参量。

示例

c = colorbar(___) 返回 ColorBar 对象。您可以在创建颜色栏后使用此对象设置属性。可将返回参量 c 指定到上述任一语法中。

示例

colorbar('off') 删除与当前坐标区或图关联的所有颜色栏。

colorbar(target,'off') 删除与目标坐标区或图关联的所有颜色栏。您也可以将 ColorBar 对象指定为目标。

示例

全部折叠

在曲面图中添加指示色阶的颜色栏。

surf(peaks)
colorbar

默认情况下,colorbar 函数向图右侧添加一个垂直颜色栏。

通过将颜色栏位置指定为 'southoutside' 在绘图下面添加一个水平颜色栏。

contourf(peaks)
colorbar('southoutside')

通过将颜色栏的 'Direction' 属性设置为 'reverse' 反转图上颜色栏中的值方向。

surf(peaks)
colorbar('Direction','reverse')

颜色栏值自上而下上升,而不是自下而上上升。

在颜色栏朝向曲面图的一边显示颜色栏刻度线和刻度标签。

surf(peaks)
colorbar('AxisLocation','in')

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数来创建坐标区。然后在每个坐标区显示一个曲面图,且每个坐标区都显示一个颜色栏。

tiledlayout(2,1)

% Top plot
nexttile 
surf(peaks)
colorbar

% Bottom plot
nexttile
mesh(peaks)
colorbar

当您要在两个或多个图之间共享一个颜色栏时,您可以在布局的一个单独图块中显示该颜色栏。

在分块图布局中创建 peaksmembrane 数据集的填充等高线图。

Z1 = peaks;
Z2 = membrane;
tiledlayout(2,1);
nexttile
contourf(Z1)
nexttile
contourf(Z2)

添加一个颜色栏,并将其移至 east 图块。

cb = colorbar;
cb.Layout.Tile = 'east';

将颜色栏添加到绘图中并指定颜色栏刻度线和刻度标签。指定与刻度线相同的刻度标签数。如果不指定足够的刻度标签,则 colorbar 函数重复使用这些标签。

contourf(peaks)
colorbar('Ticks',[-5,-2,1,4,7],...
         'TickLabels',{'Cold','Cool','Neutral','Warm','Hot'})

沿颜色栏添加一个文本标签。

surf(peaks)
c = colorbar;
c.Label.String = 'Elevation (ft in 1000s)';

将颜色栏添加到曲面图。

surf(peaks)
colorbar

从曲面图中删除颜色栏。

colorbar('off')

输入参数

全部折叠

颜色栏相对于坐标区的位置,指定为下表所列的值之一。

表示的位置表示的方向
'north'坐标区的顶部水平
'south'坐标区的底部水平
'east'坐标区的右侧垂直
'west'坐标区的左侧垂直
'northoutside'坐标区的顶部外侧水平
'southoutside'坐标区的底部外侧水平
'eastoutside'坐标区的右外侧(默认值)垂直
'westoutside'坐标区的左外侧垂直
'layout'分块图布局中的图块。要将颜色栏移至不同图块,请设置颜色栏的 Layout 属性。取决于图块的形状

如果指定的位置中已存在颜色栏,则更新的颜色栏会替换现有的颜色栏。为确保颜色栏不与图表重叠,请指定带后缀 outside 的位置。

还可以使用颜色栏的 Location 属性设置颜色栏位置。例如,colorbar('Location','northoutside')colorbar('northoutside') 相同。

示例: colorbar('westoutside')

包含关联的数据可视化的目标对象,指定为 Axes 对象、PolarAxes 对象、GeographicAxes 对象或具有 ColorbarVisible 属性的图形对象。例如,HeatmapChart 对象具有 ColorbarVisible 属性。

如果不指定目标,colorbar 命令将作用于当前坐标区(gca 返回的对象)。

注意

有些图不支持修改颜色栏外观(例如位置),或者不支持将 ColorBar 对象作为输出参量返回。

名称-值参数

示例: colorbar('FontSize',12,'Direction','reverse') 将颜色栏的字体大小设置为 12 磅,并逆转颜色栏的方向。

此处所列的颜色栏属性只是子集。有关完整列表,请参阅 ColorBar 属性

相对于轴的位置,指定为下表中所列的值之一。

表示的位置表示的方向
'north'坐标区的顶部水平
'south'坐标区的底部水平
'east'坐标区的右侧垂直
'west'坐标区的左侧垂直
'northoutside'坐标区的顶部外侧水平
'southoutside'坐标区的底部外侧水平
'eastoutside'坐标区的右外侧(默认值)垂直
'westoutside'坐标区的左外侧垂直
'manual'Position 属性确定垂直
'layout'分块图布局中的图块。要将颜色栏移至不同图块,请设置颜色栏的 Layout 属性。取决于图块的形状

要在不出现在表中的位置显示颜色栏,请使用Position 属性指定自定义位置。如果设置 Position 属性,则 MATLAB®Location 属性设置为 'manual'。当 Location 属性设置为 'manual' 时,关联坐标区不会调整大小以适应颜色栏。

刻度线标签,指定为字符向量元胞数组、字符串数组、数值数组、字符向量或分类数组。默认情况下,颜色栏用数值标注刻度线。如果您指定标签而不为所有刻度线指定足够的标签,则 MATLAB 循环使用这些标签。

如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

示例: {'cold','warm','hot'}

刻度标签解释器,指定为下列值之一:

  • 'tex' - 使用 TeX 标记子集解释标签。

  • 'latex' - 使用 LaTeX 标记子集解释标签。当您指定刻度标签时,请在元胞数组中的每个元素周围使用美元符号。

  • 'none' - 显示字面字符。

TeX 标记

默认情况下,MATLAB 支持一部分 TeX 标记。使用 TeX 标记可添加下标和上标,修改文本类型和颜色,并在标签中包括特殊字符。

修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 'tex' 时,支持的修饰符如下所示。

修饰符描述示例
^{ }上标'text^{superscript}'
_{ }下标'text_{subscript}'
\bf粗体'\bf text'
\it斜体'\it text'
\sl伪斜体(通常与斜体相同)'\sl text'
\rm常规字体'\rm text'
\fontname{specifier}字体名称 - 将 specifier 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。'\fontname{Courier} text'
\fontsize{specifier}字体大小 - 将 specifier 替换为以磅为单位的数值标量值。'\fontsize{15} text'
\color{specifier}字体颜色 - 将 specifier 替换为以下颜色之一:redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue'\color{magenta} text'
\color[rgb]{specifier}自定义字体颜色 - 将 specifier 替换为三元素 RGB 三元组。'\color[rgb]{0,0.5,0.5} text'

下表列出了 'tex' 解释器所支持的特殊字符。

字符序列符号字符序列符号字符序列符号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

LaTeX 标记

要使用 LaTeX 标记,请将 TickLabelInterpreter 属性设置为 'latex'。使用美元符号将标签括起来,例如,对于行内模式,使用 '$\int_1^{20} x^2 dx$';对于行间模式,使用 '$$\int_1^{20} x^2 dx$$'

显示的文本将使用默认的 LaTeX 字体样式。FontNameFontWeightFontAngle 属性不起任何作用。要更改字体样式,请在文本中使用 LaTeX 标记。用于 LaTeX 解释器的文本最多可以包含 1200 个字符。对于多行文本,需在此基础上每行再减少约 10 个字符。

有关使用 TeX 和 LaTeX 的示例,请参阅图文本中的希腊字母和特殊字符。有关 LaTeX 系统的详细信息,请访问 LaTeX Project 网站:https://www.latex-project.org/

刻度线位置,指定为单调递增数值向量。这些值的间隔无需相等。如果不希望显示刻度线,请将该属性设置为空向量 []

示例: [-1,0,1,2,3,4,5]

数据类型: single | double

色阶的方向,指定为下列值之一:

  • 'normal' - 显示颜色图和标签(对于垂直颜色栏,自下而上上升;对于水平颜色栏,自左向右上升)。

  • 'reverse' - 显示颜色图和标签(对于垂直颜色栏,自下而上下降;对于水平颜色栏,自左向右下降)。

字体大小,指定为大于 0 的标量值(以磅为单位)。默认字体大小取决于具体操作系统和区域设置。

如果您更改坐标区字体大小,MATLAB 会自动将颜色栏的字体大小设置为坐标区字体大小的 90%。如果手动设置了颜色栏的字体大小,则更改坐标区字体大小不会影响颜色栏的字体。

提示

  • 要添加随颜色栏的文本说明,请使用颜色栏的 Label 属性访问基础文本对象。

    c.Label.String = 'My Colorbar Label';
    

    要更改标签外观,例如字体样式或字体颜色,请设置其他的文本属性。有关属性列表,请参阅 Text 属性。例如,下面的代码可以更改字体大小。

    c.Label.FontSize = 12;

  • 添加颜色栏可能会重新调整坐标区以适应颜色栏。

  • 如果坐标区不存在,则 colorbar 函数会创建一个空白坐标区并使用默认颜色图显示颜色栏。

  • 可使用 colorbar('delete')colorbar('hide') 而非 colorbar('off') 来删除当前坐标区中的所有颜色栏。所有这些命令都是等效的。

版本历史记录

在 R2006a 之前推出

全部展开