2016-07-08 16 views
0

私はGraphviz(またはその他の視覚化プログラム)を使用してプロットしたい順序の階層を持っています。Graphvizを使用して順序付き階層を描く

プロットは、ノードの先頭と末尾のベクトルを描画し、階層内の正しいレベルを維持することが理想的です。私が最も確信していないのは、後続のベクトルが上位/親に戻ることができるので、階層のレベルを維持する方法です。

私はこのビデオの47分に正確に何を求めているのかわからない場合は、https://www.youtube.com/watch?v=sWgDk-o-6ZEの画像がプレゼンテーションにあります。

可能かどうか、graphviz(.gv)ファイルの外観を知りたいのですが。

ありがとうございます!

答えて

1

私はここでDBは小さいですが、それは大きなデータセットのためにかなりうまく機能...によって計算.gvこの1

enter image description here

のように、系図の「木」を生成するためにProlog programを書きましたレンダリングのためにGraphvizに提出されたプログラム:

digraph "graph_window" { 
node [ 
    style = "radial" 
    fillcolor = "white" 
    shape = "ellipse" 
    label = "" 
] 
edge [ 
    arrowhead = "vee" 
] 
subgraph "1" { 
    rank = "same" 
    rankdir = "LR" 
    subgraph "['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" { 
    "'Cecilia Cavendish-Bentinck'" [ 
    fillcolor = "white:red" 
    label = "Cecilia Cavendish-Bentinck" 
    ] 
    "'Claude Bowes-Lyon'" [ 
    fillcolor = "white:green" 
    label = "Claude Bowes-Lyon" 
    ] 
    } 
    subgraph "['George V','Princess Mary of Teck']" { 
    "'George V'" [ 
    fillcolor = "white:green" 
    label = "George V" 
    ] 
    "'Princess Mary of Teck'" [ 
    fillcolor = "white:red" 
    label = "Princess Mary of Teck" 
    ] 
    } 
} 
subgraph "2" { 
    rank = "same" 
    rankdir = "LR" 
    subgraph "['George VI','Lady Elizabeth Bowes-Lyon']" { 
    "'George VI'" [ 
    fillcolor = "white:green" 
    label = "George VI" 
    ] 
    "'Lady Elizabeth Bowes-Lyon'" [ 
    fillcolor = "white:red" 
    label = "Lady Elizabeth Bowes-Lyon" 
    ] 
    } 
    "'Rose Bowes-Lyon'" [ 
    fillcolor = "white:red" 
    label = "Rose Bowes-Lyon" 
    ] 
} 
subgraph "3" { 
    rank = "same" 
    rankdir = "LR" 
    "'Elizabeth II'" [ 
    fillcolor = "white:red" 
    label = "Elizabeth II" 
    ] 
} 
"['George V','Princess Mary of Teck']" [ 
    shape = "point" 
    width = "0.1" 
    height = "0.1" 
] 
"['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" [ 
    shape = "point" 
    width = "0.1" 
    height = "0.1" 
] 
"['George VI','Lady Elizabeth Bowes-Lyon']" [ 
    shape = "point" 
    width = "0.1" 
    height = "0.1" 
] 
"'George V'" -> "['George V','Princess Mary of Teck']" [ 
] 
"'Princess Mary of Teck'" -> "['George V','Princess Mary of Teck']" [ 
] 
"['George V','Princess Mary of Teck']" -> "'George VI'" [ 
] 
"'Cecilia Cavendish-Bentinck'" -> "['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" [ 
] 
"'Claude Bowes-Lyon'" -> "['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" [ 
] 
"['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" -> "'Lady Elizabeth Bowes-Lyon'" [ 
] 
"['Cecilia Cavendish-Bentinck','Claude Bowes-Lyon']" -> "'Rose Bowes-Lyon'" [ 
] 
"'George VI'" -> "['George VI','Lady Elizabeth Bowes-Lyon']" [ 
] 
"'Lady Elizabeth Bowes-Lyon'" -> "['George VI','Lady Elizabeth Bowes-Lyon']" [ 
] 
"['George VI','Lady Elizabeth Bowes-Lyon']" -> "'Elizabeth II'" [ 
] 
} 

つまり、各レイヤーはそれぞれのサブグラフに入ります。さらにサブグラフを使用してペアのペアをグループ化しました。

関連する問題