文档

GraphPlot属性

图形图的外观和行为

GraphPlot属性控制绘制图形的外观和行为。通过更改属性值,可以修改图形显示的各个方面。使用点表示法来引用特定的对象和属性:

G =图([1 1 1 1 5 5 5 5 5],[2 3 4 5 6 7 8 9]);h = plot(G);c = h.EdgeColor;h.EdgeColor = 'k';

节点

全部展开

节点颜色,指定为以下值之一:

  • “没有”—未绘制节点。

  • “平”—每个节点的颜色取决于的值NodeCData

  • RGB三元组或颜色名称-节点使用指定的颜色。

    RGB三元组是一个三元素行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在这个范围内[0, 1];例如,[0.4 0.6 0.7].或者,您可以通过名称指定一些常用颜色。该表列出了长颜色和短颜色名称选项以及等效的RGB三元组值。

    选项 描述 等效RGB三元组
    “红色”“r” 红色的 [10 0 0]
    “绿色”‘g’ 绿色 [0 10 0]
    “蓝”“b” 蓝色的 [0 0 1]
    “黄色”“y” 黄色的 [11 10 0]
    “红色”“米” 品红色的 [10 0 1]
    “青色”“c” 青色 [0 1 1]
    “白色”' w ' 白色 [1 1 1]
    “黑”“k” 黑色的 [0 0 0]

例子:情节(G,“NodeColor”、“k”)创建带有黑节点的图形图。

节点标记符号,指定为本表中列出的字符向量之一。默认情况下,图形节点使用圆形标记。

价值 描述
“o”
“+” 加号
‘*’ 星号
“。”
“x” 交叉
“广场”“年代” 广场
“钻石”' d ' 钻石
“^” Upward-pointing三角形
“v” 向下的三角形
“>” 三点三角形
“<” 只左向三角形
五角星形的“p” 五角星(五角星)
“卦”“h” 六角星(六芒星)
“没有” 没有标记

例子:“+”

例子:“钻石”

节点标记大小,指定为以点为单位的正值。的默认值MarkerSize4是否表示节点数为100或更少的图,和2对于有超过100个节点的图。

例子:10

节点标记的颜色数据,指定为长度等于图中节点数量的向量。中的值NodeCData线性映射到当前颜色图中的颜色,从而为绘制的图形中的每个节点产生不同的颜色。

节点标签,指定为数字向量或字符向量的单元格数组。的长度NodeLabel必须等于图中的节点数。默认情况下NodeLabel是一个包含图节点的节点id的单元格数组:

  • 对于没有名称的节点(即G.Nodes不包含的名字变量),节点标签就是值独特的(G.Edges.EndNodes)包含在单元格数组中。

  • 对于命名节点,节点标签为G.Nodes.Name”

例子:{' a ', ' b ', ' c '}

例子:[1 2 3]

例子:情节(G, NodeLabels G.Nodes.Name)用节点的名称标记节点。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞

节点标签的选择模式指定为“汽车”(默认)或“手动”.指定NodeLabelMode作为“汽车”填充NodeLabel图节点的节点id(数值节点索引或节点名)。指定NodeLabelMode作为“手动”不改变中的值NodeLabel

边缘

全部展开

边缘颜色,指定为以下值之一:

  • “没有”—没有绘制边缘。

  • “平”的值决定每条边的颜色EdgeCData

  • RGB三元组或颜色名称-边使用指定的颜色。

    RGB三元组是一个三元素行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在这个范围内[0, 1];例如,[0.4 0.6 0.7].或者,您可以通过名称指定一些常用颜色。该表列出了长颜色和短颜色名称选项以及等效的RGB三元组值。

    选项 描述 等效RGB三元组
    “红色”“r” 红色的 [10 0 0]
    “绿色”‘g’ 绿色 [0 10 0]
    “蓝”“b” 蓝色的 [0 0 1]
    “黄色”“y” 黄色的 [11 10 0]
    “红色”“米” 品红色的 [10 0 1]
    “青色”“c” 青色 [0 1 1]
    “白色”' w ' 白色 [1 1 1]
    “黑”“k” 黑色的 [0 0 0]

例子:情节(G,‘EdgeColor’,‘r’)创建带有红色边的图形。

线条样式,指定为本表中列出的选项之一。

线条样式 描述 产生的线
“- - -” 实线

“——” 虚线

':' 虚线

“-”。 Dash-dotted线

“没有” 没有线 没有线

边线宽度,指定为以点为单位的正值。

例子:0.75

图边的透明度,指定为之间的标量值0而且1包容性。值为1意思是完全不透明0意思是完全透明(不可见)。

例子:0.25

请注意

ArrowSize仅影响使用创建的有向图的显示有向图

箭头大小,指定为以点为单位的正值。的默认值ArrowSize7对于节点数为100或更少的图,和4对于有超过100个节点的图。

例子:15

边线的颜色数据,指定为长度等于图中边数的向量。中的值EdgeCData线性映射到当前颜色映射中的颜色,从而为绘制图形中的每条边生成不同的颜色。

边缘标签,指定为数字向量或字符向量的单元格数组。的长度EdgeLabel必须等于图中的边数。默认情况下EdgeLabel是空单元格数组(不显示边缘标签)。

例子:{' a ', ' b ', ' c '}

例子:[1 2 3]

例子:情节(G, EdgeLabels G.Edges.Weight)用它们的权值标记图边。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|细胞

边缘标签的选择模式,指定为“手动”(默认)或“汽车”.指定EdgeLabelMode作为“汽车”填充EdgeLabel边的权重G.Edges.Weight(如果可用),或边缘索引G.Edges (k,:)(如果没有可用的权重)。指定EdgeLabelMode作为“手动”不改变中的值EdgeLabel

切换定向边上箭头的显示,指定为“上”“关闭”.对于有向图,默认值为“上”因此会显示箭头,但您可以指定值“关闭”将箭头隐藏在定向边缘上。对于无向图ShowArrows总是“关闭”

位置

全部展开

请注意

XData而且YData必须一起指定,以便每个节点都有一个有效的(xy)坐标。您可以指定ZData获取三维坐标。

节点的x坐标,指定为长度等于图中节点数量的向量。

请注意

XData而且YData必须一起指定,以便每个节点都有一个有效的(xy)坐标。您可以指定ZData获取三维坐标。

节点的y坐标,指定为长度等于图中节点数量的向量。

请注意

XData而且YData必须一起指定,以便每个节点都有一个有效的(xy)坐标。您可以指定ZData获取三维坐标。

节点的z坐标,指定为长度等于图中节点数量的向量。

传说

全部展开

图例使用的文本,指定为字符向量。文本显示在GraphPlot图标的旁边。

例子:的文本描述

对于多行文本,使用创建字符向量sprintf使用新的行字符\ n

例子:Sprintf ('line one\nline two')

属性指定图例文本传说函数。

  • 属性的输入参数传说函数,则图例使用指定的文本并设置DisplayName属性设置为相同的值。

  • 属性的输入参数,则不指定文本传说函数中的文本,则图例使用DisplayName财产。如果DisplayName属性不包含任何文本,则图例生成一个字符向量。字符向量具有这样的形式“dataN”,在那里N是分配给GraphPlot对象的基于其在图例条目列表中的位置的数字。

如果交互式地编辑现有图例中的字符向量,则MATLAB®更新DisplayName属性设置为已编辑的字符向量。

此属性是只读的。

图例图标显示样式,返回为注释对象。使用该对象可以从图例中包含或排除GraphPlot。

  1. 查询注释属性来获取注释对象。

  2. 查询LegendInformation的属性注释对象来获取LegendEntry对象。

  3. 指定IconDisplayStyle的属性LegendEntry对象指向以下值之一:

    • “上”-在图例中包含GraphPlot对象作为一个条目(默认)。

    • “关闭”—图例中不要包含GraphPlot对象。

    • “孩子”-在图例中只包含GraphPlot对象的子对象作为单独的条目。

如果一个传说已经存在,你改变IconDisplayStyle设置完毕后,你必须打电话传说更新显示。

交互性

全部展开

可见性状态,指定为以下值之一:

  • “上”—显示GraphPlot。

  • “关闭”-隐藏GraphPlot而不删除它。您仍然可以访问不可见的GraphPlot对象的属性。

上下文菜单,指定为uicontextmenu对象。使用此属性在右击GraphPlot时显示上下文菜单。控件创建上下文菜单uicontextmenu函数。

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则上下文菜单不会出现。

选择状态,指定为以下值之一:

  • “上”——选择。如果在绘图编辑模式下单击GraphPlot,则MATLAB将设置其选择财产“上”.如果SelectionHighlight属性也设置为“上”,然后MATLAB在GraphPlot周围显示选择句柄。

  • “关闭”—未选中。

选择时显示选择句柄,指定为以下值之一:

  • “上”-显示选择句柄选择属性设置为“上”

  • “关闭”-从不显示选择句柄,即使当选择属性设置为“上”

回调

全部展开

鼠标单击回调,指定为以下值之一:

  • 函数处理

  • 包含函数句柄和附加参数的单元格数组

  • 是有效的MATLAB命令或函数的字符向量,在基本工作空间中计算(不推荐)

在单击GraphPlot时,使用此属性执行代码。如果使用函数句柄指定此属性,则MATLAB在执行回调函数时将两个参数传递给回调函数:

  • GraphPlot对象——你可以在回调函数中访问GraphPlot对象的属性。

  • 事件数据-此属性的参数为空。将其替换为波浪字符()在函数定义中,以指示不使用此参数。

有关如何使用函数句柄定义回调函数的详细信息,请参见回调函数定义

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则此回调不执行。

例子:@myCallback

例子:{@myCallback,长度}

创建回调,指定为以下值之一:

  • 函数处理

  • 包含函数句柄和附加参数的单元格数组

  • 是有效的MATLAB命令或函数的字符向量,在基本工作空间中计算(不推荐)

在创建GraphPlot时使用此属性执行代码。设置CreateFcn属性对现有的GraphPlot没有影响。必须为此属性定义默认值,或使用名称,值在GraphPlot创建过程中。MATLAB在创建GraphPlot并设置其所有属性后执行回调。

如果使用函数句柄指定此回调,则MATLAB在执行回调时将两个参数传递给回调函数:

  • GraphPlot对象——你可以在回调函数中访问GraphPlot对象的属性。方法访问GraphPlot对象CallbackObject属性,该属性可以使用gcbo函数。

  • 事件数据-此属性的参数为空。将其替换为波浪字符()在函数定义中,以指示不使用此参数。

有关如何使用函数句柄定义回调函数的详细信息,请参见回调函数定义

例子:@myCallback

例子:{@myCallback,长度}

删除回调,指定为以下值之一:

  • 函数处理

  • 包含函数句柄和附加参数的单元格数组

  • 是有效的MATLAB命令或函数的字符向量,在基本工作空间中计算(不推荐)

在删除GraphPlot时使用此属性执行代码。MATLAB在销毁GraphPlot之前执行回调,以便回调可以访问其属性值。

如果使用函数句柄指定此回调,则MATLAB在执行回调时将两个参数传递给回调函数:

  • GraphPlot对象——你可以在回调函数中访问GraphPlot对象的属性。方法访问GraphPlot对象CallbackObject属性,该属性可以使用gcbo函数。

  • 事件数据-此属性的参数为空。将其替换为波浪字符()在函数定义中,以指示不使用此参数。

有关如何使用函数句柄定义回调函数的详细信息,请参见回调函数定义

例子:@myCallback

例子:{@myCallback,长度}

回调执行控制

全部展开

回调中断,指定为“上”“关闭”.的可中断属性确定正在运行的回调是否可以中断。

请注意

有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的Callback。

  • 打断回调是试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调都会试图中断正在运行的回调。的可中断属性决定是否允许中断。如果不允许中断,则BusyAction拥有中断回调的对象的属性确定它是被丢弃还是放入队列中。

如果ButtonDownFcnGraphPlot的回调是运行的回调,然后可中断属性确定另一个回调是否可以中断它:

  • “上”——可中断。中断发生在MATLAB处理队列的下一个点,例如当存在drawnow数字getframe等待,或暂停命令。

    • 如果正在运行的回调包含这些命令之一,那么MATLAB将在此时停止回调的执行并执行中断回调。当中断回调完成时,MATLAB恢复执行正在运行的回调。有关更多信息,请参见中断回调执行

    • 如果正在运行的回调不包含这些命令之一,那么MATLAB将不间断地完成回调的执行。

  • “关闭”-不可打断。MATLAB在没有任何中断的情况下完成运行回调的执行。

回调队列指定为“队列”“取消”.的BusyAction属性决定MATLAB如何处理中断回调的执行。

请注意

有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的Callback。

  • 打断回调是试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调都会试图中断正在运行的回调。的可中断属性决定是否允许中断。如果不允许中断,则BusyAction拥有中断回调的对象的属性确定它是被丢弃还是放入队列中。

如果ButtonDownFcn的回调函数尝试中断一个正在运行的不能被中断的回调函数,则BusyAction属性确定它是被丢弃还是放入队列中。指定BusyAction属性作为以下值之一:

  • “队列”—将中断的回调放到队列中,待正在运行的回调执行完成后再进行处理。这是默认行为。

  • “取消”—丢弃中断回调。

捕捉鼠标点击的能力,指定为以下值之一:

  • “可见”-只有在可见时才能捕捉鼠标点击。的可见属性必须设置为“上”.的HitTest属性决定GraphPlot是否响应单击,或者是否有一个祖先响应。

  • “没有”—无法捕获鼠标点击。在图形窗口的当前视图中,单击GraphPlot将单击传递给它下面的对象。的HitTest属性对GraphPlot没有影响。

对捕获的鼠标单击的响应,指定为以下值之一:

  • “上”-触发ButtonDownFcnGraphPlot的回调。如果你已经定义了UIContextMenu属性,然后调用上下文菜单。

  • “关闭”-触发最近的GraphPlot祖先的回调HitTest属性设置为“上”和一个PickableParts属性值,该值使祖先能够捕获鼠标单击。

请注意

PickableParts属性决定GraphPlot对象是否可以捕获鼠标单击。如果不能,那么HitTest财产没有影响。

此属性是只读的。

GraphPlot的删除状态,返回为“上”“关闭”.MATLAB设置BeingDeleted财产“上”当GraphPlot的删除函数开始执行时(请参阅DeleteFcn属性)。的BeingDeleted属性仍然设置为“上”直到GraphPlot不再存在。

的值BeingDeleted属性,以在查询或修改GraphPlot之前验证它不会被删除。

父/子

全部展开

GraphPlot的父对象,指定为轴、组或转换对象。

GraphPlot没有子节点。您不能设置此属性。

控件中GraphPlot对象句柄的可见性孩子们属性,指定为以下值之一:

  • “上”GraphPlot对象句柄总是可见的。

  • “关闭”GraphPlot对象句柄在任何时候都是不可见的。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility“关闭”在函数执行期间暂时隐藏句柄。

  • “回调”GraphPlot对象句柄在回调函数或回调调用的函数中可见,但在命令行调用的函数中不可见。该选项阻止在命令行中访问GraphPlot,但允许回调函数访问它。

属性中没有列出GraphPlot对象孩子们属性,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数不能返回它。这包括得到findobjgcagcfgconewplotclf,关闭

隐藏对象句柄仍然有效。设置根目录ShowHiddenHandles财产“上”列出所有对象句柄,而不管它们HandleVisibility属性设置。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“graphplot”.使用此属性可在绘图层次结构中查找给定类型的所有对象,例如搜索使用的类型findobj

标记与GraphPlot相关联,指定为字符向量。标记提供了一种识别图形对象的方法。使用此属性可在绘图层次结构中查找具有特定标记的所有对象,例如,搜索使用的标记findobj

例子:“1月数据”

数据类型:字符

与GraphPlot对象关联的数据,指定为标量、向量、矩阵、单元格数组、字符数组、表或结构。MATLAB不使用这些数据。

要关联多组数据或将字段名附加到数据,请使用getappdata而且setappdata功能。

例子:1:100

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|结构体|表格|细胞

在R2015b中引入

这个话题有用吗?