Graph
Graph[{e1,e2,…}]
产生具有边 ej 的图.
Graph[{v1,v2,…},{e1,e2,…}]
产生具有顶点 vi 和边 ej 的图.
Graph[{…,wi[vi,…],…},{…,wj[ej,…],…}]
产生具有由符号封装 wk 定义的顶点和边属性的图.
Graph[data]
由 data 生成图.
更多信息和选项
- Graph[…] 在笔记本中显示为一个图.
- Graph[…] 总是转化为具有结构 Graph[vertices,edges,…] 的优化标准形式.
- Graph 被诸如 AtomQ 的函数,以及模式匹配的情况下,作为原始对象处理.
- u 和 v 之间的一条无向边可以由 uv、u<->v、UndirectedEdge[u,v] 或者 TwoWayRule[u,v] 给出. 字符 可以输入为 ue.
- 从 u 到 v 的标记边可以通过 uv、uv、UndirectedEdge[u,v,t] 或 DirectedEdge[u,v,t] 给出.
- 从 u 到 v 的一条有向边可以以 uv、u->v、DirectedEdge[u,v] 或者 Rule[u,v] 给出. 字符 可以输入为 de.
- 一个无向图使用一组无向边指定.
- 一个有向图使用一组有向边指定.
- 混合图使用有向边和无向边的集合指定.
- 可以对顶点和边使用以下特殊封装:
-
Annotation[a,label] 提供一个注解 Button[a,action] 定义当元素被点击时执行的操作 EventHandler[a,…] 为元素定义通用事件处理程序 Hyperlink[a,uri] 将元素变成超链接 Labeled[a,…] 显示元素时同时显示标签 PopupWindow[a,cont] 为元素添加弹出窗口 StatusArea[a,label] 鼠标悬停时在状态栏中显示 Style[a,opts] 用指定样式显示元素 Tooltip[a,label] 对元素附加任意工具提示条 - 可能的标签位置分别在 VertexLabels 和 EdgeLabels 中给出.
- Annotation 可用于将顶点和边与注解相关联:
-
Annotation[v,name->value] 将顶点 v 与注解 name->value 相关联 Annotation[e,name->value] 将边 e 与注解 name->value 相关联 - data 可以是下列任何形式之一:
-
类型 "Graph" 的 Entity 任意 Graph 对象 Molecule 对象 Tree 表达式 DiscreteMarkovProcess 对象 - 对于顶点,支持如下标准属性:
-
VertexLabels 顶点的标签和标签位置 VertexCoordinates 顶点的中心坐标 VertexShape 顶点的形状 VertexSize 顶点的大小 VertexStyle 顶点的样式 VertexShapeFunction 顶点的形状渲染函数 VertexWeight 顶点的权值 - 对于边,支持如下标准属性:
-
EdgeLabels 边的标签和标签位置 EdgeStyle 边的样式 EdgeShapeFunction 边的形状渲染函数 EdgeWeight 边的权值 - Graph 具有和 Graphics 相同的选项,另外有如下添加和变动: [所有选项的列表]
-
AnnotationRules {} 图、边和顶点的注释 DirectedEdges Automatic 是否将 Rule 解释为 DirectedEdge EdgeLabels None 边的标签和标签放置 EdgeLabelStyle Automatic 边的标签所使用的样式 EdgeShapeFunction Automatic 如何生成边的图形表示 EdgeStyle Automatic 边的样式 EdgeWeight Automatic 边的权值 GraphHighlight {} 要突出显示的图的元素 GraphHighlightStyle Automatic 突出显示时使用的样式 GraphLayout Automatic 如何设计顶点和边的布局 PerformanceGoal Automatic 优化的目标 PlotTheme $PlotTheme 图的整体主题样式 VertexCoordinates Automatic 顶点的坐标 VertexLabels None 顶点的标签和位置 VertexLabelStyle Automatic 顶点的标签所使用的样式 VertexShape Automatic 顶点的形状 VertexShapeFunction Automatic 生成顶点的形状的函数 VertexSize Medium 顶点的大小 VertexStyle Automatic 顶点的样式 VertexWeight Automatic 顶点的权值 - PlotTheme 的可能设置包括常见基本主题、强调颜色特征的主题、强调字体特征的主题和强调大小特征的主题.
- 图形的特征主题会影响顶点和边的绘制. 特征主题包括:
-
"LargeGraph" 大图 "ClassicLabeled" 经典图 "IndexLabeled" 索引标记图 "NameLabeled" 名称标记图 - AnnotationRules->{a->{name1->val1,…},…} 将诸如 name1->val1 的属性与作为一个顶点、边或者图的 a 相关联. a 的下列字符串具有特殊含义:
-
"DefaultEdgeProperties" 默认边属性 "DefaultVertexProperties" 默认顶点属性 "GraphProperties" 图自身的属性 - 在设置 VertexCoordinates->Automatic 下,顶点的位置和边的路径基于 GraphLayout 的设置自动计算.
- 边的样式和其它说明实际上以如下顺序应用: PlotTheme、EdgeStyle、GraphHighlightStyle、Style 和其它封装以及 EdgeShapeFunction,其中后面的说明覆盖前面的说明.
- 顶点的样式和其它说明实际上以如下顺序应用: PlotTheme、VertexStyle、 GraphHighlightStyle、Style 和其它封装以及 VertexShapeFunction,其中后面的说明覆盖前面的说明.
- 边标签的标签样式和其它规范以如下顺序应用: PlotTheme、EdgeLabelStyle、GraphHighlightStyle、 Labeled 和 EdgeLabels,其中后面的规范覆盖前面的规范.
- 顶点标签的标签样式和其它规范以如下顺序应用: PlotTheme、VertexLabelStyle、 GraphHighlightStyle、Labeled 和 VertexLabels,其中后面的规范覆盖前面的规范.
所有选项的列表
范例
打开所有单元关闭所有单元范围 (27)
连通度 (8)
利用 VertexList 和 EdgeList 获取顶点和边:
利用显式的顶点列表控制 VertexList 中所用的排序:
封装 (5)
样式 (8)
使用 VertexShapeFunction 的内置设置集合:
将任意 Graphics、Image 或者 Graphics3D 作为顶点形状使用:
使用 EdgeShapeFunction 的内置设置集合:
添加标签 (6)
利用 Placed 控制顶点标签的位置,包括用符号表示的顶点内的位置:
在封装中使用 Placed 放置多个标签:
用 VertexLabels 放置多个标签:
将 Placed 与符号式位置合用,控制标签在边上的位置:
在封装中使用 Placed 放置多个标签:
用 EdgeLabels 放置多个标签:
选项 (85)
DirectedEdges (2)
用 DirectedEdges->False 将规则解释为无向边:
用 DirectedEdge 或 UndirectedEdge 直接指定是有向图还是无向图:
EdgeLabels (7)
将 Placed 与符号位置一起使用,以控制在边的什么位置放置标签:
用封装中的 Placed 放置多个标签:
用 EdgeLabels 放置多个标签:
通过 Tooltip 和 StatusArea 用值进行自动标注:
EdgeShapeFunction (6)
获取 EdgeShapeFunction 的内置设置列表:
EdgeShapeFunction 可与 EdgeStyle 组合使用:
EdgeShapeFunction 比 EdgeStyle 的优先级高:
EdgeStyle (4)
EdgeStyle 可与 EdgeShapeFunction 组合使用:
EdgeShapeFunction 比 EdgeStyle 的优先级高:
GraphHighlightStyle (2)
GraphLayout (5)
VertexCoordinates 将覆盖 GraphLayout 的坐标:
用 AbsoluteOptions 提取用布局算法得出的 VertexCoordinates:
VertexCoordinates (3)
用 AbsoluteOptions 提取所得的顶点坐标:
VertexCoordinates 比 GraphLayout 的优先级高:
VertexLabels (14)
VertexShape (5)
使用任意 Graphics、Image 或 Graphics3D 作为顶点的形状:
VertexShape 可与 VertexSize 组合使用:
VertexShape 不受 VertexStyle 的影响:
VertexShapeFunction 比 VertexShape 的优先级高:
VertexShapeFunction (11)
获取 VertexShapeFunction 的内置集合列表:
使用 "Basic" 集合中 VertexShapeFunction 的内置设置:
使用 "Rounded" 集合中 VertexShapeFunction 的内置设置:
使用 "Concave" 集合中 VertexShapeFunction 的内置设置:
VertexShapeFunction 可与 VertexStyle 组合使用:
VertexShapeFunction 比 VertexStyle 的优先级高:
VertexShapeFunction 可与 VertexSize 组合使用:
VertexShapeFunction 比 VertexShape 的优先级高:
VertexSize (8)
VertexSize 可与 VertexShapeFunction 组合使用:
VertexSize 可与 VertexShape 组合使用:
VertexStyle (5)
VertexShapeFunction 可与 VertexStyle 组合使用:
VertexShapeFunction 比 VertexStyle 的优先级高:
VertexStyle 可与 BaseStyle 组合使用:
VertexStyle 比 BaseStyle 的优先级高:
VertexShape 不受 VertexStyle 的影响:
应用 (4)
属性和关系 (3)
用 VertexCount 和 EdgeCount 计算顶点数和边数:
用 VertexList 和 EdgeList 以标准顺序列出顶点和边:
从一个图计算 AdjacencyMatrix:
行-列排序由 VertexList 给出:
可能存在的问题 (2)
文本
Wolfram Research (2010),Graph,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Graph.html (更新于 2022 年).
CMS
Wolfram 语言. 2010. "Graph." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/Graph.html.
APA
Wolfram 语言. (2010). Graph. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Graph.html 年