15.2.7绘图窗口的操作

默认情况下,当打印提示或等待输入时,Octave会刷新绘图窗口。这里的drawnow函数用于更新绘图窗口。

 
: drawnow ()
: drawnow ("expose")
: drawnow (term, file, debug_file)

更新图形对象窗口及其子对象。

刷新事件队列,并执行生成的任何回调。

带有可选参数"expose",只更新图形对象,不处理其他事件或回调。

的第三种调用形式drawnow用于调试,未编制文档。

详见: refresh.

广告

只有经过修改的数字才会更新。这里的refresh函数也可以用于更新当前图形,即使它没有被修改。

 
: refresh ()
: refresh (h)

刷新图形对象,强制重新绘制。

当在没有参数的情况下调用时,会重新绘制当前图形对象。否则,带有图形句柄的图形h被重新绘制。

详见: drawnow.

广告

通常,高级绘图函数如plotmesh呼叫newplot以确定是否应该初始化目标轴的状态(默认设置),或者是否应该在先前的绘图之上绘制后续绘图。要将两个绘图绘制在一起,请使用hold函数或手动更改轴nextplot属性例如

hold on;
x = -10:0.1:10;
plot (x, sin (x));
plot (x, cos (x));
hold off;

在同一轴上显示正弦波和余弦波。如果保持状态为isoff,则像这样的连续绘图命令将只显示最后的绘图。

 
: newplot ()
: newplot (hfig)
: newplot (hax)
: hax = newplot (…)

准备图形引擎以生成新的绘图。

此函数在所有高级绘图函数的开头调用。在用户程序中通常不需要它。newplot查询"NextPlot"当前图形和轴的字段,以确定要执行的操作。

图NextPlot 行动
"new" Create a new figure and make it the current figure.
"add"默认 Add new graphic objects to the current figure.
"replacechildren" 删除eHandleVisibility设置为的子对象"on"。将NextPlot属性设置为"add"。这通常会清除图形,但会保留隐藏对象(如菜单栏)。这相当于clf.
"replace" 删除图形对象的所有子对象,并将所有图形对象属性设置为默认值。但是,以下属性不会重置:位置、单位、纸张位置、纸张单位。这相当于clf reset.
轴NextPlot 行动
"add" 将新的图形对象添加到当前轴。这相当于hold on.
"replacechildren" 删除eHandleVisibility设置为的子对象"on",但保持轴对象属性不变。这通常会清除绘图,但保留特殊设置,如轴的对数缩放。这相当于cla.
"replace"默认 删除所有轴的子对象,并将所有轴对象属性重置为默认值。但是,以下属性不会重置:位置、单位。这相当于cla reset.

如果可选输入hfighax然后准备指定的图形或轴,而不是当前图形和轴。

可选返回值hax是createdaxes对象的图形句柄(不是图形)。

小心调用newplot可能会更改当前图形和当前轴。

广告
 
: hold
: hold on
: hold off
: hold (hax, …)

切换或设置"hold"打印引擎的状态,用于确定是将新图形对象添加到打印中还是替换现有对象。

hold on

保留绘图数据和设置,以便在单个图形上显示后续绘图命令。对于添加的每个新绘图,线颜色和线样式都是高级的。

广告
hold all (deprecated)

相当于hold on.

广告
hold off

恢复默认图形设置,在每次新的打印命令之前清除图形并重置轴对象属性。默认

广告
hold

切换当前保持状态。

广告

当给出附加参数时hax,将修改此轴的保持状态,而不是从返回的当前轴gca.

要查询当前保持状态,请使用ishold作用

详见: ishold, cla, clf, newplot.

广告
 
: tf = ishold
: tf = ishold (hax)
: tf = ishold (hfig)

如果将下一个绘图添加到当前绘图,则返回true;如果在绘制下一个图形之前将清除绘图设备,则返回false。

如果第一个参数是轴句柄hax或数字句柄hfig则对该图而不是当前图进行操作。

详见: hold, newplot.

广告

要清除当前数字,请调用clf作用要清除当前轴,请调用cla作用要使当前图形位于窗口堆栈的顶部,请调用shg作用要删除图形对象,请调用delete在其索引上。要关闭图形窗口,请调用close作用

 
: clf
: clf reset
: clf (hfig)
: clf (hfig, "reset")
: h = clf (…)

清除当前图形窗口。

clf通过删除具有可见句柄的子图形对象进行操作(HandleVisibility="on").

如果可选参数"reset"如果指定了,则删除所有子对象,包括那些具有隐藏句柄的子对象,并将所有figureproperties重置为默认值。但是,以下属性不会重置:位置、单位、纸张位置、纸张单位。

如果第一个参数hfig是一个数字句柄,然后对该数字进行操作,而不是对返回的当前数字进行操作gcf.

可选返回值h是已清除的图形窗口的图形句柄。

详见: cla, close, delete, reset.

广告
 
: cla
: cla reset
: cla (hax)
: cla (hax, "reset")

清除当前或指定的(hax)axes对象。

cla通过删除具有可见句柄的子图形对象进行操作(HandleVisibility= "on"). 这通常会清除任何视觉对象的顶点,但保留适当的轴限制、刻度和标签、相机视图等。此外,通过更改轴对象属性可以重置线的自动着色和样式ColorOrderIndex,LinestyleOrderIndex至1。

如果可选参数"reset"如果指定了,则删除所有子对象,包括具有隐藏控制柄的子对象,并将所有轴对象属性重置为默认值。但是,以下属性不会重置:Position, Units.

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

详见: clf, delete, reset.

广告
 
: shg

显示图形窗口。

此函数使当前图形可见,并将其放置在所有其他绘图窗口的顶部。

编程说明:shg相当于figure (gcf)假设当前的数字存在。

详见: figure, drawnow, gcf.

广告
 
: delete file
: delete file1 file2
: delete (file)
: delete (file1, file2, …)
: delete (handle)

删除命名文件或图形控制柄。

file可能包含诸如*’. 在同一个函数调用中可以指定多个要删除的文件。

handle可以是要删除的图形句柄的标量或向量。

编程注意事项:删除图形对象是在不清除整个图形的情况下从绘图中删除特征的正确方法。

详见: clf, cla, unlink, rmdir.

广告
 
: close
: close (h)
: close figname
: close all
: close all hidden
: close all force
: status = close (…)

关闭图形窗口。

当在没有参数的情况下调用时,关闭当前图形。这相当于close (gcf).如果输入h是图形句柄或向量图形句柄,然后关闭中的每个图形h。也可以通过名称指定要关闭的图形figname与匹配"Name"所有数字的属性。

如果参数"all"则所有具有可见句柄的图形(HandleVisibility="on")关闭。

如果附加参数"hidden"则所有数字,包括隐藏的数字,都是闭合的。

如果附加参数"force"则当"closerequestfcn"已更改以防止关闭窗口。

如果可选输出status则Octave返回1,如果图形窗口已成功关闭。

支持说明:close通过制作句柄进行操作h当前图形,然后调用从指定的函数"closerequestfcn"属性。默认情况下,函数closereq使用。调用的函数可能会延迟或中止删除图形。要在不执行任何回调函数的情况下删除图形,请使用delete。在编写回调函数以关闭窗口时,不要使用close以避免递归。

详见: closereq, delete.

广告
 
: closereq ()

关闭当前图形对象并删除与其关联的所有图形对象。

默认情况下"closerequestfcn"新绘图图形的属性指向此函数。

详见: close, delete.

广告

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

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