Sparse6 (.s6)
背景
-
- sparse6 图数据格式.
- 用于存储无向图.
- ASCII 格式.
- 存储多个无向图的连接信息.
- 适用于大型稀疏图,存储多达个顶点.
- 与对小型图和大型稠密图行优化了的 graph6 相关.
- 由 Brendan McKay 在澳大利亚国立大学(Australian National University)开发.
Import 与 Export
- Import["file.s6"] 导入存储在指定文件中的图,以单个 Graph 对象或图列表的形式给出.
- Export["file.s6",expr] 把单个或多个图中的邻接矩阵或边信息导出到 sparse6 格式.
- Import["file.s6",elem] 从一个 sparse6 文件中导入指定的参数.
- Import["file.s6",{elem,suba,subb,…}] 导入一个子参数.
- Import["file.s6",{{elem1,elem2,…}}] 导入多个参数.
- 导入格式可以用 Import["file","Sparse6"] 或 Import["file",{"Sparse6",elem,…}] 指定.
- Export["file.s6",expr,elem] 通过把 expr 作为指定参数 elem 创建一个 sparse6 文件.
- Export["file.s6",{expr1,expr2,…},{{elem1,elem2,…}}] 把每一个 expri 指定为相应的 elemi.
- Export["file.s6",expr,opt1->val1,…] 导出具有指定值的指定选项参数的 expr.
- Export["file.s6",{elem1->expr1,elem2->expr2,…},"Rules"] 使用规则指定要导出的参数.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
Import 参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 表示数据的参数:
-
"AdjacencyMatrix" 文件中所有图的边信息,以矩阵的列表形式给出 "EdgeRules" 所有图的连接数据,以规则的数组形式给出 "Graph" 存储在文件中的第一个图,以 Graph 对象的形式给出 "Graphics" 存储在文件中的第一个图,渲染为一个图的图形 "GraphicsList" 所有图,以图形对象的列表形式给出 "GraphList" 文件中的所有图,以 Graph 对象的列表形式给出 "VertexCount" 每个图的顶点数,以整数列表的形式给出 "VertexList" 表示顶点的整数列表 - 默认情况下,对于简单的 sparse6 文件,Import 使用 "Graph";而对于多图 sparse6 文件,则使用 "GraphList".
- 包含多图的 sparse6 文件的参数规范:
-
elem,n 文件中第 n 个图的数据表示参数 elem elem,{n1,n2,…} 图 n1,n2,… 的参数 elem elem,All 所有图的参数 elem,以列表的形式给出 - Import["file.s6","GraphList"] 给出文件中所有图的列表,渲染为 Graph 对象.
- Import["file.s6",{"GraphList",n}] 给出文件中第 n 个图的渲染.
- 当使用"EdgeRules"参数导入一个 sparse6 文件,对于可能的未连接的顶点不返回规则.
- 包含未连接顶点的图可以使用"AdjacencyMatrix"参数完全指定,或作为一个"EdgeRules"与"VertexCount"的组合.
选项
- 当从一个 sparse6 文件中导入时,可以给出所有由 Graph 支持的选项. 常用设置包括:
-
EdgeLabels Automatic 边的标签和标签位置 EdgeWeight Automatic 边的权 VertexCoordinates Automatic 顶点的中心坐标 VertexLabels Automatic 顶点的的标签和标签位置 VertexShape Automatic 顶点的图形形状 - 当导入"Graphics"时,可以使用所有由 GraphPlot 支持的选项. 常用设置包括:
-
DirectedEdges Automatic 是否显示边为有向箭头 EdgeLabeling Automatic 是否包含边的标签 EdgeShapeFunction Automatic 给出边的明确图形的函数 VertexLabeling Automatic 是否以标签的形式显示顶点名称 VertexShapeFunction Automatic 给出顶点的明确图形的函数
范例
基本范例 (5)
读取以上例子的邻接矩阵,并渲染为 MatrixPlot:
把一个 Graph 对象导出为 sparse6 格式: