您可以将标题、轴标签、图例和任意文本添加到现有绘图中。例如:
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)");
函数grid和box也可以用于将网格和边框线添加到绘图中。默认情况下,网格关闭,边框线打开。
最后,可以使用annotation函数添加箭头、文本、矩形或椭圆框来突出显示绘图的某些部分。这些对象被绘制在一个不可见的轴上,位于其他所有轴的顶层。
(string) ¶(string, prop, val, …) ¶(hax, …) ¶h = title (…) ¶指定用作当前轴标题的字符串。
可选的属性/值对列表可用于更改所创建的标题文本对象的外观。
如果第一个参数hax是轴或图例句柄,则将标题添加到此对象,而不是添加到由gca返回的当前轴。
可选的返回值h是所创建的文本对象的图形句柄。
() ¶command ¶(str1, str2, …) ¶(charmat) ¶({cellstr}) ¶(…, property, value, …) ¶(hobjs, …) ¶("command") ¶(hax, …) ¶(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覆盖它。
(x, y, string) ¶(x, y, z, string) ¶(…, prop, val, …) ¶(hax, …) ¶h = text (…) ¶使用文本string在位置x、y(z)处创建文本对象(在当前轴上)。
如果x、y、(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之前使用num2str、sprintf等将任何数值元素转换为字符串。
(string) ¶(string, property, val, …) ¶(hax, …) ¶h = xlabel (…) ¶指定用作当前轴x轴标签的字符串。
可选的属性/值对列表可用于更改所创建的文本标签的属性。
有关文本对象属性的完整列表,另请参阅Text Properties。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
可选的返回值h是所创建的文本对象的图形句柄。
(string) ¶(string, property, val, …) ¶(hax, …) ¶h = ylabel (…) ¶指定用作当前轴y轴标签的字符串。
可选的属性/值对列表可用于更改所创建的文本标签的属性。
有关文本对象属性的完整列表,另请参阅Text Properties。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
可选的返回值h是所创建的文本对象的图形句柄。
(string) ¶(string, property, val, …) ¶(hax, …) ¶h = zlabel (…) ¶指定用作当前轴z轴标签的字符串。
可选的属性/值对列表可用于更改所创建的文本标签的属性。
有关文本对象属性的完整列表,另请参阅Text Properties。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
可选的返回值h是所创建的文本对象的图形句柄。
(c, h) ¶(c, h, v) ¶(c, h, "manual") ¶(c) ¶(…, prop, val, …) ¶hlabels = clabel (…) ¶为等高线图的等高线添加标签。
等高线级别来自从contour、contourc、contourf和contour3返回的等高线矩阵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);
on ¶off ¶(hax, …) ¶控制轴边框的显示。
参数可以是"on"或"off"。如果未给出参数,则切换当前边框状态。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
on ¶off ¶(hax, …) ¶minor ¶(hax, minor_arg) ¶(…, property, value) ¶h = grid (…) ¶控制网格线的显示。
如果参数是"on",则打开网格线;如果是"off",则关闭网格线。如果没有参数,则切换网格状态。
如果参数"minor"存在,则控制次网格线的显示。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
在调用grid时,可以提供可选的属性/值对来设置网格线的属性。如果未给出任何属性,则假定为"on"或"off"。网格线的属性由grid函数在内部设置,以便在打开/关闭网格时变得可见/不可见(即将帮助程序属性设置为适当的值)。但是,如果您设置了任何网格线属性,则假定您希望自定义网格的外观并可能控制网格线的可见性。如果提供了属性/值对,但没有"visible"属性,则网格线默认设置为可见。
可选的返回值h是网格线的图形句柄向量(每个轴方向一条线,外加仅与polar函数一起使用的径向和角向网格)。
() ¶(loc) ¶(hax, …) ¶(…, prop, val, …) ¶h = colorbar (…) ¶在当前轴上添加颜色条。
颜色条显示当前颜色映射和到被着色数据的映射关系。在轴对象上设置"clim"属性可以调整颜色轴的限制。
位置参数loc可以是以下之一:
"eastoutside"颜色条放置在轴区域的右侧外部(默认)。
"east"颜色条放置在轴区域的右侧内部。
"westoutside"颜色条放置在轴区域的左侧外部。
"west"颜色条放置在轴区域的左侧内部。
"northoutside"颜色条放置在轴区域的上方外部。
"north"颜色条放置在轴区域的上方内部。
"southoutside"颜色条放置在轴区域的下方外部。
"south"颜色条放置在轴区域的下方内部。
如果当前有多个轴,并且它们使用的是相同的颜色映射,则所有轴共享该颜色条。如果轴使用不同的颜色映射,则添加颜色条的结果与只有一个轴的情况相同。
如果第一个参数hax是轴句柄,则在该轴上操作,而不是在由gca返回的当前轴上操作。
可选的返回值h是所创建的颜色条对象的图形句柄。
(type) ¶(type, x, y) ¶(type, pos) ¶(…, prop, val) ¶h = annotation (…) ¶在图形上创建注释对象。
注释对象在规范化图形坐标中指定。整个图形窗口从(0,0)(左下角)延伸到(1,1)(右上角)。位置向量pos的格式为[x0 y0 宽度 高度],而x和y是定义注释形状的坐标向量。
可选的prop/val对可用于自定义注释的外观。
可选的返回值h是所创建的注释对象的图形句柄。它可以与set函数一起使用以自定义现有的注释对象。
所有注释对象共享两个属性:
"units":解释坐标的单位。"centimeters" | "characters" | "inches" | "{normalized}" | "pixels" | "points"。
"position":四元素向量 [x0 y0 宽度 高度]。有效的注释类型及其特定属性描述如下:
"line"构造一条线。x和y必须是两个元素的向量,指定线段两端的x和y坐标。
可以使用"linewidth"、"linestyle"和"color"属性自定义线条,方式与line对象相同。
"arrow"构造一个箭头。x和y中的第二个点指定箭头头的坐标。
除了线条对象属性外,箭头还可以使用"headlength"、"headwidth"和"headstyle"属性进行自定义。支持的"headstyle"属性值有:["diamond" | "ellipse" | "plain" | "rectangle" | "vback1" | "{vback2}" | "vback3"]
"doublearrow"构造一个双头箭头。向量x和y指定箭头头的坐标。
线条和箭头头可以像箭头注释一样进行自定义,但某些属性名称是重复的:"head1length"/"head2length"、"head1width"/"head2width"等。索引1表示x和y坐标中第一个点处的箭头头属性。
"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