主要内容

为图形准备图形和坐标轴

的行为MATLAB绘图函数

MATLAB®绘制函数可以创建新的图形和轴(如果不存在的话),或者重用现有的图形和轴。在重用现有轴时,MATLAB

  • 清除坐标轴上的图形对象。

  • 将大多数轴属性重置为默认值。

  • 根据新的数据计算新的轴的极限。

当绘图函数创建图形时,该函数可以:

  • 为图形创建图形和坐标轴,并为特定图形设置必要的属性(如果当前不存在图形,则默认行为)

  • 重用现有图形和轴,根据需要清除和重置轴属性(如果存在图形,默认行为)

  • 在不重置属性的情况下向现有图添加新数据对象(如果持有

NextPlot图形和轴属性控制MATLAB绘图函数的行为方式。

NextPlot属性如何控制行为

MATLAB绘图函数依赖于图形和坐标轴的值NextPlot属性,以确定在绘制新图形之前是否添加、清除或清除和重置图形和轴。低级对象创建函数不检查NextPlot属性。它们只是将新的图形对象添加到当前的图形和轴上。

的可能值NextPlot属性。

NextPlot

数字

创建新图形并将其用作当前图形。

不是斧头的选择。

添加

在不清除或重置当前图形的情况下添加新的图形对象。(默认)

在不清除或重置当前轴的情况下添加新的图形对象。

replacechildren

在添加新对象之前,移除所有句柄未隐藏的轴对象。不重置图形属性。相当于clf

在添加新的图形对象之前,移除所有没有隐藏句柄的轴子对象。不重置轴属性。相当于

取代

在添加新对象之前,移除所有轴对象并将图形属性重置为默认值。相当于clf重置

在添加新对象之前,移除所有子对象并将轴属性重置为默认值。相当于重置.(默认)

绘图函数调用newplot函数获取相应轴的柄。

默认的场景

考虑下图的默认情况NextPlot属性是添加和轴NextPlot属性是取代.当你打电话newplot,它:

  1. 检查当前数字的值NextPlot属性(即,添加).

  2. 确定MATLAB可以在不修改图形的情况下绘制出当前的图形。如果没有当前的数字,newplot创建一个,但不重新检查它NextPlot财产。

  3. 检查当前坐标轴的值NextPlot属性(即,取代),从坐标轴上删除所有图形对象,重置所有坐标轴属性(除外位置单位)的默认值,并返回当前轴的句柄。如果没有电流轴,newplot创建一个,但不重新检查它NextPlot财产。

  4. 从坐标轴上删除所有图形对象,重置所有坐标轴属性(除非位置单位)的默认值,并返回当前轴的句柄。如果没有电流轴,newplot创建一个,但不重新检查它NextPlot财产。

持有函数和NextPlot属性

持有功能提供了方便的访问NextPlot属性。当您希望在不移除其他对象或重置属性的情况下向图形添加对象时,请使用抓住

  • 抓住—设置图形和坐标轴NextPlot属性添加.线形图继续循环通过ColorOrderLineStyleOrder属性值。

  • 推迟-设置坐标轴NextPlot财产取代

使用ishold来确定持有

控制用户编写的绘图函数的行为

MATLAB提供的newplot的设置,以简化绘图函数的编写NextPlot属性。

newplot的值NextPlot属性并根据这些值采取适当的操作。的地方newplot在任何调用对象创建函数的函数的开头。

当函数调用时newplotnewplot首先查询图形NextPlot财产。基于属性值newplot然后根据属性值采取下表中描述的操作。

图NextPlot属性值 newplot函数

不存在的数据

创建图形并使该图形成为当前图形。

添加

使图形为当前图形。

创建一个新图形并使其成为当前图形。

replacechildren

删除图形的子图形(轴对象及其后代),并使该图形成为当前图形。

取代

删除该图形的子图形,将该图形的属性重置为默认值,并使该图形成为当前图形。

然后newplot检查当前轴'NextPlot财产。基于财产价值newplot执行下表中描述的操作。

坐标轴NextPlot属性值 newplot函数

当前图中没有坐标轴

创建一个轴并使其为当前轴

添加

使坐标轴为当前坐标轴并返回其句柄。

replacechildren

删除轴的子轴,并使该轴成为当前轴。

取代

删除坐标轴的子元素,将坐标轴的属性重置为默认值,并将该坐标轴设置为当前坐标轴。