15.2.3 绘图注释

您可以将标题、轴标签、图例和任意文本添加到现有绘图中。例如:

x = -10:0.1:10;
plot (x, sin (x));
title ("sin(x) for x = -10:0.1:10");
xlabel ("x");
ylabel ("sin (x)");
text (pi, 0.7, "arbitrary text");
legend ("sin (x)");

函数gridbox也可以用于将网格和边框线添加到绘图中。默认情况下,网格关闭,边框线打开。

最后,可以使用annotation函数添加箭头、文本、矩形或椭圆框来突出显示绘图的某些部分。这些对象被绘制在一个不可见的轴上,位于其他所有轴的顶层。

 
title (string)
title (string, prop, val, …)
title (hax, …)
h = title (…)

指定用作当前轴标题的字符串。

可选的属性/值对列表可用于更改所创建的标题文本对象的外观。

如果第一个参数hax是轴或图例句柄,则将标题添加到此对象,而不是添加到由gca返回的当前轴。

可选的返回值h是所创建的文本对象的图形句柄。

另请参阅: xlabel, ylabel, zlabel, text.

 
legend ()
legend command
legend (str1, str2, …)
legend (charmat)
legend ({cellstr})
legend (…, property, value, …)
legend (hobjs, …)
legend ("command")
legend (hax, …)
legend (hleg, …)
hleg = legend (…)

使用指定的字符串作为标签显示当前轴的图例。

图例条目可以指定为单个字符串参数、字符数组或字符串的元胞数组。当标签名称可能与图例属性或command参数混淆时,应将标签指定为字符串的元胞数组以进行保护。

如果第一个参数hax是轴句柄,则向该轴添加图例,而不是向由gca返回的当前轴。

如果第一个参数hleg是图例句柄,则对该图例进行操作,而不是对当前轴的图例进行操作。

图例标签与轴的子对象相关联:第一个标签分配给在轴上绘制的第一个对象,第二个标签分配给绘制的下一个对象,依此类推。要标注特定的数据对象而不标注所有对象,请在输入hobjs中提供它们的图形句柄。

以下自定义项可通过command使用:

"show"

在绘图上显示图例

"hide"

在绘图上隐藏图例

"toggle"

"hide""show"之间切换

"boxon"

在图例周围显示边框(默认值)

"boxoff"

隐藏图例周围的边框

"right"

将标签文本放置在图例符号的右侧(默认设置)

"left"

将标签文本放置在图例符号的左侧

"off"

删除图例对象

legend函数创建一个图形对象,该对象具有可以使用get/set操作的各种属性。或者,在调用legend时可以通过包含键/值对来直接设置属性。如果使用此调用形式,则必须将标签指定为字符串的元胞数组。有关图形对象属性的详细信息,另请参阅Graphics Object Properties

以下是支持的图例对象属性的子集:

autoupdate: "off" | {"on"}

控制当向对等轴添加对象或从中删除对象时,是否自动更新图例条目的数量。例如:

## 创建单个绘图及其图例。
figure ();
plot (1:10);
legend ("Slope 1");
## 添加另一个绘图并指定其显示名称,以便图例正确更新。
hold on;
plot ((1:10) * 2, "displayname", "Slope 2");
## 停止后续绘图的自动更新。
legend ("autoupdate", "off");
plot ((1:10) * 3);
box: "off" | {"on"}

控制图例是否带有环绕边框。

location: "best" | "bestoutside" |

"east" | "eastoutside" | "none" | "north" | {"northeast"} | "northeastoutside" | "northoutside" | "northwest" | "northwestoutside" | "south" | "southeast" | "southeastoutside" | "southoutside" | "southwest" | "southwestoutside" | "west" | "westoutside" 控制图例的位置。

numcolumns: 标量整数,默认值 1

控制图例条目布局中使用的列数。例如:

figure ();
plot (rand (30));
legend ("numcolumns", 3);

设置numcolumns也会强制将numcolumnsmode属性设置为"manual"

orientation: "horizontal" | {"vertical"}

控制图例条目是垂直排列(按列)还是水平排列(按行)。

string: 字符串 | 字符串的元胞数组

图例条目的标签列表。例如:

figure ();
plot (rand (20));
## 让图例自动选择名称
hl = legend ();
## 选择性地更改某些名称
str = get (hl, "string");
str(1:5:end) = "Garbage";
set (hl, "string", str);
textcolor: 颜色规格,默认值 [0 0 0]

控制图例条目文本字符串的颜色。

支持的图例特定属性的完整列表可在Legend Properties中找到。

图例被实现为一个附加的轴对象,其tag属性设置为"legend"。图例对象的属性可以直接通过set进行修改。

可选的输出值hleg是图例对象的句柄。

实现说明:图例标签文本可以在调用legend时提供,也可以从图形对象的DisplayName属性获取。只有数据对象(如线、块和曲面)具有此属性,而轴、图形等没有,因此它们永远不会出现在图例中。如果没有标签或DisplayName属性可用,则标签文本默认为"data1""data2"、……、"dataN"

图例的FontSize属性最初设置为其所连接的轴的FontSize的90%。必要时使用set覆盖它。

 
text (x, y, string)
text (x, y, z, string)
text (…, prop, val, …)
text (hax, …)
h = text (…)

使用文本string在位置xyz)处创建文本对象(在当前轴上)。

如果xy、(z)是向量。可以使用字符串的字符矩阵或元胞数组指定多个字符串。

可选的键/值对可用于控制文本的外观。

如果第一个参数hax是轴句柄,则将文本添加到此轴,而不是添加到由gca返回的当前轴。

可选的返回值h是所创建的文本对象的图形句柄向量。

示例1:通过3种不同方法创建多行文本

text (0.5, 0.8, {"Line 1", "Line 2"})
text (0.5, 0.6, ["Line 1"; "Line 2"])
text (0.5, 0.4, "Line 1\nLine 2")

示例2:在多个位置放置文本

text ([0.2, 0.2], [0.8, 0.6], "Same text at two locations")
text ([0.4, 0.4], [0.8, 0.6], {"Point 1 Text", "Point 2 text"})
text ([0.6, 0.6], [0.8, 0.6], {{"Point 1 Line 1", "Point 1 Line 2},
                               "Point 2 text"})

示例3:使用文本对象属性调整外观

ht = text (0.5, 0.5, "Hello World", "fontsize", 20);
set (ht, "color", "red");

编程说明:有关属性的完整列表,另请参阅Text Properties

元胞数组中的任何数值元素都将使用sprintf ("%g")转换为文本。为了更精确地控制外观,请在调用text之前使用num2strsprintf等将任何数值元素转换为字符串。

另请参阅: gtext, title, xlabel, ylabel, zlabel.

 
xlabel (string)
xlabel (string, property, val, …)
xlabel (hax, …)
h = xlabel (…)

指定用作当前轴x轴标签的字符串。

可选的属性/值对列表可用于更改所创建的文本标签的属性。

有关文本对象属性的完整列表,另请参阅Text Properties

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

可选的返回值h是所创建的文本对象的图形句柄。

另请参阅: ylabel, zlabel, datetick, title, text.

 
ylabel (string)
ylabel (string, property, val, …)
ylabel (hax, …)
h = ylabel (…)

指定用作当前轴y轴标签的字符串。

可选的属性/值对列表可用于更改所创建的文本标签的属性。

有关文本对象属性的完整列表,另请参阅Text Properties

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

可选的返回值h是所创建的文本对象的图形句柄。

另请参阅: xlabel, zlabel, datetick, title, text.

 
zlabel (string)
zlabel (string, property, val, …)
zlabel (hax, …)
h = zlabel (…)

指定用作当前轴z轴标签的字符串。

可选的属性/值对列表可用于更改所创建的文本标签的属性。

有关文本对象属性的完整列表,另请参阅Text Properties

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

可选的返回值h是所创建的文本对象的图形句柄。

另请参阅: xlabel, ylabel, datetick, title, text.

 
clabel (c, h)
clabel (c, h, v)
clabel (c, h, "manual")
clabel (c)
clabel (…, prop, val, …)
hlabels = clabel (…)

为等高线图的等高线添加标签。

等高线级别来自从contourcontourccontourfcontour3返回的等高线矩阵c。等高线标签会旋转以匹配局部线方向,并在线条上居中。标签沿线的位置是随机选择的。

如果参数h是等高线图对象的句柄,则标注此绘图,而不是标注由gca返回的当前轴中的绘图。

默认情况下,所有等高线都会被标注。但是,可以通过向量v指定要标注的等高线。如果给出"manual"参数,则可以用鼠标选择要标注的等高线。

可以提供作为文本对象有效属性的附加键/值对,并将其传递给基础文本对象。此外,等高线组属性"LabelSpacing"可用于确定要标注的等高线上标签之间的间距。默认值为144点,即2英寸。

可选的返回值hlabels是表示每个标签的文本对象的图形句柄向量。文本对象的"userdata"属性包含等高线标签的数值。

有关文本对象属性的完整列表,另请参阅Text Properties

[c, h] = contour (peaks (), -4 : 6);
clabel (c, h, -4:2:6, "fontsize", 12);

另请参阅: contour, contourf, contour3, meshc, surfc, text.

 
box
box on
box off
box (hax, …)

控制轴边框的显示。

参数可以是"on""off"。如果未给出参数,则切换当前边框状态。

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

另请参阅: axis, grid.

 
grid
grid on
grid off
grid (hax, …)
grid minor
grid (hax, minor_arg)
grid (…, property, value)
h = grid (…)

控制网格线的显示。

如果参数是"on",则打开网格线;如果是"off",则关闭网格线。如果没有参数,则切换网格状态。

如果参数"minor"存在,则控制次网格线的显示。

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

在调用grid时,可以提供可选的属性/值对来设置网格线的属性。如果未给出任何属性,则假定为"on""off"。网格线的属性由grid函数在内部设置,以便在打开/关闭网格时变得可见/不可见(即将帮助程序属性设置为适当的值)。但是,如果您设置了任何网格线属性,则假定您希望自定义网格的外观并可能控制网格线的可见性。如果提供了属性/值对,但没有"visible"属性,则网格线默认设置为可见。

可选的返回值h是网格线的图形句柄向量(每个轴方向一条线,外加仅与polar函数一起使用的径向和角向网格)。

另请参阅: box, axis, title, text, xlabel, ylabel, zlabel.

 
colorbar ()
colorbar (loc)
colorbar (hax, …)
colorbar (…, prop, val, …)
h = colorbar (…)

在当前轴上添加颜色条。

颜色条显示当前颜色映射和到被着色数据的映射关系。在轴对象上设置"clim"属性可以调整颜色轴的限制。

位置参数loc可以是以下之一:

"eastoutside"

颜色条放置在轴区域的右侧外部(默认)。

"east"

颜色条放置在轴区域的右侧内部。

"westoutside"

颜色条放置在轴区域的左侧外部。

"west"

颜色条放置在轴区域的左侧内部。

"northoutside"

颜色条放置在轴区域的上方外部。

"north"

颜色条放置在轴区域的上方内部。

"southoutside"

颜色条放置在轴区域的下方外部。

"south"

颜色条放置在轴区域的下方内部。

如果当前有多个轴,并且它们使用的是相同的颜色映射,则所有轴共享该颜色条。如果轴使用不同的颜色映射,则添加颜色条的结果与只有一个轴的情况相同。

如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。

可选的返回值h是所创建的颜色条对象的图形句柄。

另请参阅: caxis, clim, colormap.

 
annotation (type)
annotation (type, x, y)
annotation (type, pos)
annotation (…, prop, val)
h = annotation (…)

在图形上创建注释对象。

注释对象在规范化图形坐标中指定。整个图形窗口从(0,0)(左下角)延伸到(1,1)(右上角)。位置向量pos的格式为[x0 y0 宽度 高度],而xy是定义注释形状的坐标向量。

可选的prop/val对可用于自定义注释的外观。

可选的返回值h是所创建的注释对象的图形句柄。它可以与set函数一起使用以自定义现有的注释对象。

所有注释对象共享两个属性:

  • "units":解释坐标的单位。
    它的值可以是"centimeters" | "characters" | "inches" | "{normalized}" | "pixels" | "points"
  • "position":四元素向量 [x0 y0 宽度 高度]。
    该向量指定注释对象原点的坐标 (x0, y0)、其宽度和高度。宽度和高度可能为负,具体取决于对象的方向。

有效的注释类型及其特定属性描述如下:

"line"

构造一条线。xy必须是两个元素的向量,指定线段两端的x和y坐标。

可以使用"linewidth""linestyle""color"属性自定义线条,方式与line对象相同。

"arrow"

构造一个箭头。xy中的第二个点指定箭头头的坐标。

除了线条对象属性外,箭头还可以使用"headlength""headwidth""headstyle"属性进行自定义。支持的"headstyle"属性值有:["diamond" | "ellipse" | "plain" | "rectangle" | "vback1" | "{vback2}" | "vback3"]

"doublearrow"

构造一个双头箭头。向量xy指定箭头头的坐标。

线条和箭头头可以像箭头注释一样进行自定义,但某些属性名称是重复的:"head1length"/"head2length""head1width"/"head2width"等。索引1表示xy坐标中第一个点处的箭头头属性。

"textarrow"

构造一个箭头,在箭头头的相反端带有文本标签。

使用"string"属性更改文本字符串。线条和箭头头可以像箭头注释一样进行自定义,文本可以使用与text图形对象相同的属性进行自定义。但是,请注意,某些文本属性名称以"text"为前缀,以与箭头属性区分:"textbackgroundcolor""textcolor""textedgecolor""textlinewidth""textmargin""textrotation"

"textbox"

构造一个包含文本的框。pos指定注释的"position"属性。

使用"string"属性更改文本字符串。您可以使用"backgroundcolor""edgecolor""linestyle""linewidth"属性来自定义框的背景颜色和边缘外观。一组有限的text对象属性也可用;除了"font…"属性外,您还可以使用"horizontalalignment""verticalalignment"来定位框内的文本。

最后,"fitboxtotext"属性控制框的实际范围。如果为"on"(默认值),则框的边界将根据文本范围自动调整。

"rectangle"

构造一个矩形。pos指定注释的"position"属性。

您可以使用"facecolor""color""linestyle""linewidth"属性来自定义矩形背景颜色和边缘外观。

"ellipse"

构造一个椭圆。pos指定注释的"position"属性。

有关自定义,请参阅"rectangle"注释。

另请参阅: xlabel, ylabel, zlabel, title, text, gtext, legend, colorbar.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4