木の描画

TreePlotは,グラフの頂点を連続した層の木,あるいは一群の木として並べる.グラフ g が木ではない場合,TreePlotはその頂点をグラフの各要素の全域木をもとに並べる.
TreePlot[{vi 1->vj 1,vi 2->vj 2,}]
頂点 vik が頂点 vjk と結ばれているグラフの木のプロットを生成する
TreePlot[{{vi 1->vj 1,lbl1},}]
ラベル lblk をグラフの辺と関連付ける
TreePlot[g,pos]
木の根をプロット中の位置 pos に置く
TreePlot[g,pos,vk]
頂点 vk を木のプロットのルートノードとして使う
TreePlot[m]
隣接行列 m で表されるグラフの層になったプロットを生成する
木の描画
簡単なグラフと木のプロットを描画する:
デフォルトで,TreePlotは各木の根を一番上に置く.TreePlot[g,pos]は,根を位置 pos に置く.可能な値はTopBottomLeftRightCenterである.
根が左側に置いて木をプロットする:
次は,根を中央に置く:
TreePlotのオプション
Graphicsのオプションに加え,LayeredGraphPlotでは次のオプションが使える.
オプション名
デフォルト値
DataRangeAutomatic
生成する頂点座標の範囲
DirectedEdgesFalse
辺を有向の矢印として描くかどうか
EdgeLabelsAutomatic
辺に与えられたラベルを含めるかどうか
EdgeShapeFunctionAutomatic
辺の明示的なグラフィックスを与える関数
LayerSizeFunction1&
各層に許容する高さ
MultiedgeStyleAutomatic
頂点間の多重辺をどのように描くか
"PackingLayout"Automatic
要素のパッキングに使用するメソッド
PlotRangePaddingAutomatic
プロット周囲にどの程度の充填を行うか
PlotStyleAutomatic
オブジェクトを描画するスタイル
SelfLoopStyleAutomatic
頂点をそれ自身と繋ぐ辺をどのように描くか
VertexCoordinatesAutomatic
明示的な頂点座標の規則
VertexLabelsAutomatic
頂点名をラベルとして示すかどうか
VertexShapeFunctionAutomatic
頂点の明示的なグラフィックスを与える関数
TreePlotのオプション

DirectedEdges

オプションDirectedEdgesは,辺を有向矢印として描くかどうかを指定する.このオプションが取り得る値はTrueまたはFalseである.このオプションのデフォルト値はFalseである.
これは,辺が線ではなく矢印で表されているグラフである:

EdgeLabels

オプションEdgeLabelsは,辺に与えられたラベルを表示するかどうか,またどのように表示するかを指定する.このオプションが取り得る値はAllNoneまたはAutomaticである.このオプションのデフォルト値はAutomaticで,グラフの辺のラベルを表示する.
指定された辺のラベルを表示する:
これは,ラベルをツールチップとして表示する.カーソルを頂点4と頂点7の間の辺の上に置くとツールチップが見られる:

EdgeShapeFunction

オプションEdgeShapeFunctionは,グラフの辺の視覚的表現を指定する.このオプションに可能な値はAutomaticNone,あるいはグラフィックスプリミティブとグラフィックス指示子との適切な組合せを与える関数である.デフォルト設定のAutomaticでは,各辺が描画される.EdgeShapeFunction->Noneでは,辺は描画されない.
頂点だけを描画する:
EdgeShapeFunction->g のとき,各辺は関数 g で与えられるグラフィックスプリミティブとグラフィックス指示子で描画される.この関数は g[{ri,,rj},{vi,vj},lblij,]という形式で3つ以上の引数を取ることができ,rirj は辺の始点と終点の座標,vivj は最初の頂点と最後の頂点,lblij は辺に指定された任意のラベルあるいはNoneである.EdgeShapeFunction->g の明示的な設定値はEdgeLabelsDirectedEdgesの設定値に優先する.
この例では,辺が0.3後退した灰色の矢印でプロットされている:
この例では,辺は黒い矢印で,自己ループは赤い矢印で描かれる:

LayerSizeFunction

LayerSizeFunctionオプションは,各層に許容する相対的な高さを指定する.デフォルトの高さは1である.使用可能な値は機械実数を与える関数である.
これは木のプロットを与える:
これも上記と同じ木のプロットであるが,最初の層の相対的な高さが1,2番目の層が2,3番目の層が3になっている:

MultiedgeStyle

オプションMultiedgeStyleは,2つの頂点間の多重辺を描くかどうかを指定する.MultiedgeStyleが取り得る値はAutomatic(デフォルト),TrueFalse,正の実数である.デフォルト設定のMultiedgeStyle->Automaticでは,規則のリストで指定されたグラフに対しては多重辺が表示されるが,隣接行列により指定された場合は表示されない.MultiedgeStyle->δ では,多重辺はスケールされた距離 δ にまで広げられる.
デフォルトでは,グラフが規則のリストで指定されている場合には多重辺が示される:
隣接行列で指定されている場合には多重辺は示されない:
多重辺が指定された量だけ拡散される:

PackingLayout

オプション"PackingLayout"は非連結要素をパッキングするためのメソッドを指定する.このオプションに可能な値はAutomatic(デフォルト),"ClosestPacking""ClosestPackingCenter""Layered""LayeredLeft""LayeredTop""NestedGrid"である."PackingLayout"->"ClosestPacking"では,要素は左上からポリオミノ法[6]を使って可能な限り近付くようパックされる."PackingLayout"->"ClosestPackingCenter"では,要素は中央からパックされる."PackingLayout"->"Layered"では,要素は左上から層状にパックされる."PackingLayout"->"LayeredLeft"あるいは"PackingLayout"->"LayeredTop"では,要素はそれぞれ上と左から層状にパックされる."PackingLayout"->"NestedGrid"では,要素はネストされた格子に配列される.通常効率的なデフォルト設定は"PackingLayout"->"Layered"であり,パッキングは最大の境界ボックス部分の要素から始まる.
デフォルトメソッドによる非連結要素のパッキング:
"ClosestPackingCenter"メソッドを使った非連結要素のパッキング:

PlotRangePadding

PlotRangePaddingTreePlotにより継承されるグラフィックス関数に共通のオプションである.

PlotStyle

PlotStyleTreePlotにより継承されるグラフィックス関数に共通のオプションである.オプションPlotStyleはオブジェクトを描画するスタイルを指定する.
ここでは,辺が太めの矢印で描かれている.辺と頂点はどちらも赤でラベル付けされている:

SelfLoopStyle

オプションSelfLoopStyleは,自分自身とリンクしている頂点のループを描くかどうかを指定する.このオプションに可能な値はAutomatic(デフォルト)TrueFalse,正の実数である.SelfLoopStyle->Automaticでは,グラフが規則のリストで指定されている場合に自己ループが表示され,隣接行列で指定されている場合は表示されない.SelfLoopStyle->δ では,自己ループは直径 δ (辺の平均の長さに対して)で描画される.
デフォルトでは,グラフが規則のリストで指定されている場合には,自己ループが表示される:
グラフが隣接行列で指定されている場合には自己ループは表示されない:
辺の平均の長さの0.3倍の直径の自己ループが描画される:

VertexCoordinates

オプションVertexCoordinatesは頂点座標を指定する.取り得る値は,Noneか座標のリストである.規則のリストで指定された座標は,現在のTreePlotではサポートされていない.
次は,既知の座標を使ってペテルセン(Petersen)グラフを描画する:
次は,デフォルトメソッドで描画する:

VertexLabels

オプションVertexLabelsは頂点名をラベルとして表示するかどうかを指定する.このオプションに可能な値はAllNoneAutomatic(デフォルト)である.VertexLabels->Allではラベルが表示される.隣接行列で指定されたグラフでは,頂点ラベルは連続した整数 は行列の大きさ)を取る.規則のリストで指定されたグラフでは,ラベルは規則で使われた式である.VertexLabels->Noneでは各頂点は点として表示される.頂点 vk に対する別のツールチップを指定する場合は,規則のリストの任意の場所でTooltip[vk,vlbl]を使うとよい.
ラベルが隣接行列の指標として与えられているグラフを描画する:
規則のリストで指定されたラベルを使う:

VertexShapeFunction

オプションVertexShapeFunctionはグラフの辺の視覚的表現を指定する.このオプションに可能な値はAutomaticNone,あるいはグラフィックスプリミティブと指示子の適切な組合せを与える関数である.デフォルト設定のAutomaticでは,頂点は点として表示される.
デフォルトでは,頂点は点として描かれる:
頂点なしで同じグラフを描画する:
VertexShapeFunction->g では,各頂点が g[ri,vi,]で与えられるグラフィックスプリミティブで描画される.ri は頂点の座標で,vi は頂点のラベルである.VertexShapeFunction->g の明示的な設定値はVertexLabelsの設定値に優先する.
この例では,頂点が黄色の円板で表示されている:
例題ギャラリー

k 分木

これは,4層の5分木をプロットする:
これも同じグラフのプロットだが,各層 の高さがに比例するようになっている:
次では,各層の高さ に比例するように設定されている: