GraphLayout

Graphおよび関連関数のオプションで,使用するレイアウトを指定する.

詳細

  • グラフレイアウトの計算は通常数段階で行われる.GraphLayout->{s1->m1,}とすると,段階 siにメソッド miが使われる.
  • 次は,グラフレイアウトに使用可能な段階 siである.
  • "VertexLayout"頂点をどのように埋め込むか
    "EdgeLayout"辺の順序をどのように決めるか
    "PackingLayout"頂点の連結成分をどのように置くか
  • 次は,"VertexLayout"メソッドである.
  • Automaticレイアウトを自動的に選択する
    Noneレイアウトは計算しない
    "emb"名前付きの埋込み
  • 次は,使用可能な特別埋込み"emb"である.
  • "BipartiteEmbedding"頂点を2本の平行線上に置く
    "CircularEmbedding"頂点を円の上に置く
    "CircularMultipartiteEmbedding"頂点を円の弦の上に置く
    "DiscreteSpiralEmbedding"頂点を離散螺線上に置く
    "GridEmbedding"頂点を格子上に置く
    "LinearEmbedding"頂点を直線上に置く
    "MultipartiteEmbedding"頂点を数本の平行線上に置く
    "SpiralEmbedding"頂点を2Dに投影された3D螺線の上に置く
    "StarEmbedding"頂点を中心のある円上に置く
  • 次は,木グラフ等の層状グラフと有向非巡回グラフのための使用可能な構造埋込み"emb"である.
  • "BalloonEmbedding"頂点を中心が親頂点上にある円上に置く
    "RadialEmbedding"頂点を円弧の一部に置く
    "LayeredDigraphEmbedding"頂点を有向非巡回グラフの平行線上に置く
    "LayeredEmbedding"頂点を平行線上に置く
  • 使用可能な最適化埋込み"emb"は,どれも数量を最少にする.以下は含まれるものである.
  • "GravityEmbedding"頂点を質点,辺をバネとするエネルギー
    "HighDimensionalEmbedding"高次元のバネ電気のエネルギー
    "PlanarEmbedding"辺交差の数
    "SpectralEmbedding"平方距離の重み付きの総和
    "SphericalEmbedding"曲面上の頂点とバネとしての辺を持つエネルギー
    "SpringElectricalEmbedding"辺をバネ,頂点を電荷とするエネルギー
    "SpringEmbedding"辺をバネとするエネルギー
    "TutteEmbedding"辺交差の数と近傍までの距離
  • 次は,"EdgeLayout"メソッドの可能な設定値である.
  • "DividedEdgeBundling"辺を線分の束に分ける
    "HierarchicalEdgeBundling"階層的木構造に従って辺を束にする
    "StraightLine"辺の間の直線
  • 次は,"PackingLayout"の可能な設定値である.
  • "ClosestPacking"最上部左からの最密充填を近似する
    "ClosestPackingCenter"中央からの最密充填を近似する
    "Layered"最上部左から始めて層に並べる
    "LayeredLeft"左から始めて層に並べる
    "LayeredTop"最上部から始めて層に並べる
    "NestedGrid"ネストした格子上に並べる

例題

すべて開くすべて閉じる

  (2)

特定の曲線上のグラフレイアウト:

最適化基準を満足するグラフレイアウト:

スコープ  (113)

基本的な用法  (3)

Graphのデフォルトのレイアウトを変える:

Graph3D

TreeGraph

PathGraph

平面グラフを配置する:

二部グラフ:

任意のグラフ:

パラメトリックグラフのレイアウトを指定する:

ランダムグラフ:

行列グラフ:

任意グラフのコンストラクタ:

頂点のレイアウト  (98)

"BalloonEmbedding"  (8)

親頂点を中心としてそれを取り囲んでいる円に各頂点を置く:

"BalloonEmbedding"は木グラフに最適である:

オプション"EvenAngle"->Trueを使って囲み円の中に頂点を均等に置く:

"OptimalOrder"->Trueと設定すると,頂点の並び順が角度分解能と縦横比を最適化する:

オプション"RootVertex"->v を使って根頂点を設定する:

オプション"Rotation"->r を使ってレイアウトを回転させる:

"SectorAngles"->s を使って各扇形の大きさを制御する:

風船のレイアウトは任意のグラフに使うことができる:

"BipartiteEmbedding"  (2)

二部分割に基づいた2本の垂直線上に頂点を置く:

"BipartiteEmbedding"は二部グラフのみに使うことができる:

"CircularEmbedding"  (4)

頂点を円周上に置く:

"CircularEmbedding"は,巡回グラフ,LCF表記の埋込み,閉路グラフに最適である:

オプション"Offset"->offset を使ってオフセットの角度を指定する:

"OptimalOrder"->Trueと設定すると,頂点は円周上にきれいに並ぶように並べ替えられる:

"CircularMultipartiteLayout"  (3)

頂点分割に基づいた多角形の線上に頂点を置く:

"CircularMultipartiteEmbedding"k 部グラフに最適である:

"VertexPartition"->partition を使って頂点分割を指定する:

"DiscreteSpiralEmbedding"  (3)

頂点を離散螺線上に置く:

"DiscreteSpiralEmbedding"は道グラフに最も適している:

"OptimalOrder"->Trueと設定すると,頂点が離散螺線上にきれいに置かれるように並べ替えられる:

"GravityEmbedding"  (2)

各頂点が電荷と質量を持ち各辺がバネに対応するときに,機械・電気・重力エネルギーが最小になるように頂点を置く:

オプション"RootVertex"->v を使って根頂点を設定する:

"GridEmbedding"  (3)

頂点を格子上に置く:

"GridEmbedding"は格子グラフに最適である:

"Dimension"->dim を使って格子の大きさを指定する:

"HighDimensionalEmbedding"  (3)

高次元の頂点をバネ電気埋込み法に従って置き,投影する:

"HighDimensionalEmbedding"は大きいグラフに最適である:

"RandomSeed"->int を使って最初の頂点の置き方を計算する乱数生成器のシードを指定する:

"LayeredEmbedding"  (7)

非隣接層間の辺の数を最小にするような方法で,いくつかの層に頂点を置く:

"LayeredEmbedding"は木グラフに最も適している:

オプション"LayerSizeFunction"->func を使って相対的な高さを指定する:

オプション"RootVertex"->v を使って根頂点を設定する:

オプション"LeafDistance"->d を使って葉の距離を指定する:

オプション"Orientation"->o を使って方向が異なる木を描画する:

任意のグラフに階層的描画を使うことができる:

"LayeredDigraphEmbedding"  (7)

一連の層に頂点を置く:

"LayeredDigraphEmbedding"は有向非巡回グラフに最適である:

オプション"RootVertex"->v を使って根頂点を設定する:

オプション"Rotation"r を使ってレイアウトを回転させる:

オプション"Orientation"->o を使って方向が違う木を描画する:

オプション"VertexLayerPosition"->positions を使って層の位置を指定する:

階層的有向グラフ描画は任意のグラフに使うことができる:

"LinearEmbedding"  (2)

頂点を線上に置く:

オプションMethod->m を使ってアルゴリズムを指定する:

"MultipartiteEmbedding"  (3)

頂点分割に基づいた複数の線の格子上に頂点を置く:

"MultipartiteEmbedding"k 部グラフに最適である:

"VertexPartition"->partition を使って頂点分割を指定する:

"PlanarEmbedding"  (2)

辺が交差しないようにして頂点を平面に置く:

"PlanarEmbedding"は平面グラフにしか使えない:

"RadialEmbedding"  (5)

頂点を同心円内に置く:

"RadialEmbedding"は木グラフに最も適している:

オプション"RootVertex"->v を使って根頂点を設定する:

オプション"Rotation"r を使ってレイアウトを回転させる:

ラジアル描画は任意のグラフに使うことができる:

"RandomEmbedding"  (1)

頂点をランダムに置く:

"SpectralEmbedding"  (3)

互いの距離の二乗の加重和が最小になるように頂点を置く:

"SpectralEmbedding"は,適切に構造化されたグラフに最適である:

オプション"RelaxationFactor"->r を使って緩和ラプラス行列に基づいたレイアウトを求める:

"SphericalEmbedding"  (2)

頂点を曲面上に置く:

"SphericalEmbedding"は正則の構造化グラフに最適である:

"SpiralEmbedding"  (3)

頂点を螺線上に置く:

"SpiralEmbedding"は道グラフに最適である:

"OptimalOrder"->Trueと設定すると,頂点は螺線上にきれいに並ぶように並べ替えられる:

"SpringElectricalEmbedding"  (15)

各頂点が荷電していて各辺がバネに対応するときに,力学的エネルギーと電気エネルギーが最小になるように頂点を並べる:

"SpringElectricalEmbedding"は大多数のグラフに非常に適している:

"EdgeWeighted"->Trueと設定すると,辺の重みが使われる:

オプション"EnergyControl"->e を使って最小化の際の系の総エネルギーについての制限を指定する:

"InferentialDistance"->d を使ってカットオフ距離を指定する.このカットオフ距離を超えた頂点間のインタラクションは存在しないと想定される:

"MaxIteration"->it を使ってエネルギーの最小化の試みに使う最大反復回数を指定する:

"Multilevel"->method を使ってグラフを粗大化させる再帰的手続きに使うメソッドを指定する:

"Octree"->Trueと設定すると,八分木データ構造(三次元)あるいは四分木データ構造(二次元)が反発力の計算に使われる:

"RandomSeed"->int を使って最初の頂点の置き方を計算する乱数生成器のシードを指定する:

"RepulsiveForcePower"->r を使って,反発力が距離によって減衰する速さを制御する:

オプション"Rotation"r を使ってレイアウトを回転させる:

"SpringConstant"r を使って引力の定数を制御する:

"StepControl"->method を使ってエネルギーの最小化において刻み幅がどのように調整されるかを定義する:

"StepLength"->r を使って頂点を動かす際の初期刻み幅を指定する:

"Tolerance"->r を使ってエネルギー最小化プロセスを終了する許容度を指定する:

"SpringEmbedding"  (12)

各辺がバネに対応するときの力学的エネルギーが最小となるように頂点を置く:

"SpringEmbedding"は標準構造のグラフに最適である:

"EdgeWeighted"->Trueと設定すると,辺の重みが使われる:

オプション"EnergyControl"->e を使って最小化の際の系の総エネルギー量に対する制限を指定する:

"InferentialDistance"->d を使ってカットオフ距離を指定する.このカットオフ距離を超えては頂点間のインタラクションは存在しないと考えられる:

"MaxIteration"->it を使ってエネルギー最小化の試みで使用する最大反復回数を指定する:

"Multilevel"->method を使ってグラフを粗大化させる再帰的手続きに使用するメソッドを指定する:

"RandomSeed"->int を使って最初の頂点の置き方を計算する乱数生成器のシードを指定する:

オプション"Rotation"r を使ってレイアウトを回転させる:

"StepControl"->method を使ってエネルギー最小化においてどのように刻み幅が調整されるかを定義する:

"StepLength"->r を使って頂点を移動させる際の最初の刻み幅を指定する:

"Tolerance"->r を使ってエネルギー最小化のプロセスを終らせる際に使う許容度を指定する:

"StarEmbedding"  (4)

頂点を星形に置く:

"StarEmbedding"は,星形のグラフに最適である:

オプション"Offset"->offset を使ってオフセットの角度を指定する:

オプション"Center"->center を使って中心を指定する:

"TutteEmbedding"  (2)

辺を交差させずに頂点を置き,近傍への距離の合計を最短にする:

"TutteEmbedding"は,3連結平面グラフのみに使うことができる:

None  (2)

グラフの省略形を出力する:

大きいグラフに有用である:

辺のレイアウト  (3)

"DividedEdgeBundling"  (1)

辺を線分の束に分割する:

"HierarchicalEdgeBundling"  (1)

階層的な木構造に従って辺を束にまとめる:

"StraightLine"  (1)

辺の間の直線:

充填レイアウト  (6)

"ClosestPacking"  (1)

最上部左からの最密充填を近似する:

"ClosestPackingCenter"  (1)

中央からの最密充填を近似する:

"Layered"  (1)

最上部左から始めて層に並べる:

"LayeredLeft"  (1)

左から始めて層に並べる:

"LayeredTop"  (1)

最上部から始めて層に並べる:

"NestedGrid"  (1)

ネストした格子上に並べる:

描画順  (3)

"VertexFirst"  (1)

頂点を辺の上に置く:

"EdgeFirst"  (1)

辺を頂点の上に置く:

Ordering  (1)

頂点と辺を指定された順で置く:

アプリケーション  (2)

Wolframシステムのインストールディレクトリのレイアウト:

Unixオペレーティングシステムの初期バージョン間の関係を示す:

階層的有向グラフの埋込みを自動的に使う:

特性と関係  (6)

GraphLayoutは一般的なグラフに使うことができる:

行列グラフ:

特殊グラフ:

ランダムグラフ:

VertexCoordinatesGraphLayoutの座標を無効にする:

AbsoluteOptionsを使ってレイアウトアルゴリズムで計算したVertexCoordinatesを抽出する:

Wolfram Research (2010), GraphLayout, Wolfram言語関数, https://reference.wolfram.com/language/ref/GraphLayout.html (2021年に更新).

テキスト

Wolfram Research (2010), GraphLayout, Wolfram言語関数, https://reference.wolfram.com/language/ref/GraphLayout.html (2021年に更新).

CMS

Wolfram Language. 2010. "GraphLayout." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/GraphLayout.html.

APA

Wolfram Language. (2010). GraphLayout. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GraphLayout.html

BibTeX

@misc{reference.wolfram_2024_graphlayout, author="Wolfram Research", title="{GraphLayout}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/GraphLayout.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_graphlayout, organization={Wolfram Research}, title={GraphLayout}, year={2021}, url={https://reference.wolfram.com/language/ref/GraphLayout.html}, note=[Accessed: 17-November-2024 ]}