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

Figure contains an axes object. The axes object contains an object of type surface.

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

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

contourf(peaks)
colorbar('southoutside')

Figure contains an axes object. The axes object contains an object of type contour.

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

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

Figure contains an axes object. The axes object contains an object of type surface.

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

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

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

Figure contains an axes object. The axes object contains an object of type surface.

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

tiledlayout(2,1)

% Top plot
nexttile 
surf(peaks)
colorbar

% Bottom plot
nexttile
mesh(peaks)
colorbar

Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

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

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

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

Figure contains 2 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour.

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

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

Figure contains 2 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour.

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

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

Figure contains an axes object. The axes object contains an object of type contour.

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

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

Figure contains an axes object. The axes object contains an object of type surface.

将颜色栏添加到曲面图。

surf(peaks)
colorbar

Figure contains an axes object. The axes object contains an object of type surface.

从曲面图中删除颜色栏。

colorbar('off')

Figure contains an axes object. The axes object contains an object of type surface.

输入参数

全部折叠

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

表示的位置表示的方向
'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 之前推出

全部展开