DOT (.gv,.dot)
DOT (.gv,.dot)
予備知識
-
- DOTグラフ言語およびデータ形式.
- グラフの交換に一般的に使われる形式である.
- 単一属性付きの無向あるいは有向グラフを保管する.
- ユーザ定義のグラフ,辺,頂点属性を含むことができる.
- テキスト形式.
- AT&Tベル研究所において開発された.
ImportとExport
- Import["file.gv"]は指定のファイルに保管されたグラフを表すGraphオブジェクトを与える.
- Export["file.gv",expr]はグラフを表す隣接行列または辺情報をDOT形式にエキスポートする.
- Import["file.gv"]は file からグラフをインポートし,それをGraphとして返す.
- Import["file.gv",elem]はDOTファイルから指定の要素をインポートする.
- Import["file.gv",{{elem1,elem2,…}}]は複数の要素をインポートする.
- インポート形式はImport["file","DOT"]またはImport["file",{"DOT",elem,…}]で指定できる.
- Export["file.gv",expr,elem]は expr が要素 elem を指定してるとしてDOTファイルを作成する.
- Export["file.gv",{expr1,expr2,…},{{elem1,elem2,…}}]は各 expri が対応する elemi を指定しているとして扱う.
- Export["file.gv",expr,opt1->val1,…]は指定の値を持つ指定のオプション要素で expr をエキスポートする.
- Export["file.gv",{elem1->expr1,elem2->expr2,…},"Rules"]は規則を使ってエキスポートする要素を指定する.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - データ表現要素:
-
"AdjacencyMatrix" 行列で与えられる辺情報 "EdgeAttributes" 規則のリストで表される辺属性 "EdgeRules" 規則のリストで与えられる,グラフのデータ連結性 "Graph" ファイルに保存されたグラフをGraphオブジェクトとして返す "GraphAttributes" 規則のリストとして現されるグラフの属性 "Graphics" グラフプロットとして描画される,ファイルに保管されたグラフ "VertexAttributes" 規則のリストとして表される頂点属性 "VertexCount" グラフの頂点数 "VertexList" 文字列のリストとして与えられる頂点 - ImportはDOTからのインポートの際,デフォルトで"Graph"要素を使う.
オプション
- 一般的なImportオプション:
-
ImageSize Automatic グラフを表示する画像の全体の大きさ - DOTからインポートする際は,Graphがサポートするすべてのオプションを与えることができる.一般的な設定には以下のようなものがある:
-
EdgeLabels Automatic 辺に対するラベルとラベルの配置 EdgeWeight Automatic 辺の重み VertexCoordinates Automatic 頂点に対する中心座標 VertexLabels Automatic 頂点に対するラベルとラベルの配置 VertexShape Automatic 頂点のグラフィックス形状 - "Graphics"としてインポートする際は,GraphPlotがサポートするすべてのオプションを与えることができる.一般的な設定には以下のようなものがある:
-
DirectedEdges Automatic 有向矢印として辺を表すかどうか EdgeLabels Automatic 辺に与えられたラベルを含むかどうか EdgeShapeFunction Automatic 辺に明示的なグラフィックスを与える関数 VertexLabels Automatic 頂点名をラベルとして示すかどうか VertexShapeFunction Automatic 頂点に明示的なグラフィックスを与える関数 - Exportオプション:
-
DirectedEdges Automatic エキスポートされるデータが有向グラフを表すかどうか VertexCoordinates Automatic 明示的な頂点座標の規則 - 辺規則または対称隣接行列からエキスポートする場合,辺はデフォルトで無向であるとされる.
例題
すべて開く すべて閉じる例 (6)
DOTファイルからGraphオブジェクトをインポートする:
Import["ExampleData/sample.gv", ImagePadding -> 10]例題ファイルから利用できるImport要素を示す:
Import["ExampleData/sample.gv", "Elements"]Import["ExampleData/sample.gv", "EdgeRules"]GraphをDOT形式にエキスポートする:
Export["complete.gv", CompleteGraph[5], "DOT"]Export["directed.gv", {{0, 1, 1, 0}, {0, 0, 2, 1}, {0, 0, 0, 0}, {0, 1, 0, 1}}, "DOT"]ExportString[{1 -> 2, 1 -> 3, 1 -> 5, 2 -> 4, 2 -> 6, 3 -> 4, 3 -> 7, 4 -> 8, 5 -> 6, 5 -> 7, 6 -> 8, 7 -> 8}, "DOT"]スコープ (3)
TableForm[Transpose[Import["ExampleData/sample.gv", {{"VertexList", "VertexAttributes"}}]], TableHeadings -> {None, {"Vertex", "Attributes"}}]ExportString[{
"EdgeRules" -> {"A" -> "B", "B" -> "C", "C" -> "A"},
"EdgeAttributes" -> {
{"Label" -> "Edge from node A to node B"}, {"Label" -> "Edge from node B to node C"}, {"Label" -> "Edge from node C to node A"}}
}, {"DOT", "Rules"}]DOTファイルから辺規則をインポートし,三次元グラフとしてプロットする:
Graph3D[Import["ExampleData/pyramid.gv", "EdgeRules"], EdgeShapeFunction -> (Cylinder[#1, .05]&), VertexShapeFunction -> (Sphere[#1, .1]&)]関連するガイド
-
▪
- インポートとエキスポート ▪
- 全形式のリスト ▪
- 数学データ ▪
- 数学データ形式
履歴
2010 で導入 (8.0)