osage

は、クラスタ化されたグラフを描画します。

osage は、dot 形式の任意のグラフを入力として受け取ります。

osage は、グラフを再帰的に描画します。各レベルには、ノードのコレクションとクラスタサブグラフのコレクションがあります。各クラスタサブグラフの内部がレイアウトされ、次に現在のレベルにあるクラスタサブグラフとノードが、各クラスタサブグラフをノードとして扱って、互いに相対的に配置されます。

各レベルで、ノードとクラスタサブグラフは、一緒にパックされる長方形として表示されます。現在、エッジはパッキング中は無視されます。パッキングは、標準のパッキング関数を使用して行われます。特に、グラフ属性 packpackmode はレイアウトを制御します。各グラフとクラスタは、これらの属性に独自の値を指定できます。また、クラスタは親グラフから属性値を継承することを忘れないでください。

すべてのノードとクラスタの後、エッジは splines 属性の値に基づいてルーティングされます。

例のソース
graph {
	layout=osage
		subgraph cluster_0 {
			label="composite cluster";
			subgraph cluster_1 {
			    label="the first cluster";
				C
				L
				U
				S
				T
				E
				R
			}
			subgraph cluster_2 {
			    label="the second\ncluster";
				a
				b
				c
				d
			}
			1
			2
		}
	3
	4
	5
}