2011-08-14 9 views
2

Graphvizレコードフィールドに由来する単一のエッジを持つことは、ポートとコンパスポイントを使用して非常に簡単で簡単に制御できます。1つのGraphvizレコードフィールドから複数のエッジを生成する方法はありますか?

私は、複数のエッジを1つのレコードフィールドから作成する必要があります。 DOT言語の構文はこれをサポートしていないようです。部分グラフは私のために働くかもしれませんが、レコードの描写は実際にはデータレコードの最も良い表現です。

答えて

3

は、複数のエッジは、単一のレコードフィールドIは、ドット言語の構文がそれを許さない理由は本当にわからない

由来があります。例えば:

digraph g{ 
    r[label="<f0> left|<f1> middle|<f2> right", shape=record]; 
    r:f0 -> {a;b;}; 
    r:f2 -> c; 
    r:f2 -> d; 
} 

フィールドf0f2両方つ以上の発信エッジを有しています。ところで

enter image description here

記録形状がまだ動作してもラベルはそれらを交換するHTMLに似たかのように、それはそうです。 graphivz web siteから:

レコードベースの形状は、主に取って代わられたと大幅 は、HTMLのようなラベルで一般化。つまり、 shape = recordを使用する代わりに、shape = noneとHTML形式の というラベルを使用することを検討することができます。

+0

まあ、私はドットを直接使用していません、私はpydotを使っています。私は入って、ノードラベル生成コードが正しいかどうかをチェックしなければならないでしょう。 (HTMLのチップをありがとう、それを調べるだろう。) –

関連する問題