web-dev-qa-db-ja.com

graphvizとneatoを使用してレコードの重複を防ぐ

コンピューターのハードウェアと、ネットワークスイッチおよびディスプレイへの物理的な接続を表すドットファイルを作成しています。ドットプログラムで処理すると問題ないように見えますが、ネイトで処理して、より「自由な形」の画像を作成して、グロミングが始まったときに本当に欲しいと思います。現在、大きなファイルをネイトで実行すると、すべてが重複しています。

overlap属性を定義する場所の構文を理解しようとしています。以下は私のドットファイルのサブセットです。

graph g {  
    node [shape=record,height=.1];  
    PC8[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC8}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"];  
    PC9[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC9}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"];
    C1[label = "{{<dvi1>dvi1}|{<name>C1}}"];  
    C2[label = "{{<dvi1>dvi1}|{<name>C2}}"];  
    C3[label = "{{<dvi1>dvi1}|{<name>C3}}"];  
    C4[label = "{{<dvi1>dvi1}|{<name>C4}}"];  
    D1[label = "{{<dvi1>dvi1}|{<name>D1}}"];  
    D2[label = "{{<dvi1>dvi1}|{<name>D2}}"];  
    "PC8":dvi1 -- "C1":dvi1;  
    "PC8":dvi2 -- "C2":dvi1;  
    "PC8":dvi3 -- "C3":dvi1;  
    "PC8":dvi4 -- "C4":dvi1;  
    "PC9":dvi1 -- "D1":dvi1;  
    "PC9":dvi2 -- "D2":dvi1;  
}
39
Chris Williams

まあ、ほとんどの質問と同じように...私が投稿した直後に私は答えを見つけました。ファイルの先頭にgraph [overlap=false];を追加する必要がありました。

このようにしてください:

graph g {
    overlap = false;

    node [shape=record,height=.1];
    /* ... */
}
43
Phil H