2011-08-11 7 views
2
digraph foo { 
a [label="<first> A | <rest> rest", shape=record]; 
b [label="<first> B | <rest> rest", shape=record]; 
a:rest -> b [label="foo", arrowtail=dot, dir=both]; 
} 

これは可能ですか?休憩(理想的には中央)内からエッジ(aからb)の尾を開始したいと思いますか?ノード内からエッジを開始する

私は、ボックスと表記法のようなポインタを使用してリンクリストを描画しようとしています。

答えて

3

はい、可能です。使用する属性をtailclipと呼ばれている:

trueの場合、エッジの尾は尾 ノードの境界にクリップされます。それ以外の場合は、エッジの末尾がノードの中心になります(適用可能であれば、 またはポートの中心)。

だけ

a:rest -> b [label="foo", arrowtail=dot, dir=both, tailclip=false]; 

編集するには、あなたの最後の行を変更します。また、

a:rest:c -> b [label="foo", arrowtail=dot, dir=both, tailclip=false]; 

参照:@Kyborekはコメントで述べているように、追加のコンパスポイントはgraphvizのの現在のバージョンのために必要とされていますthis answer

+0

これを達成するための指示ですが、これはうまくいくはずですが、実際にはそうではないようですシステムとグラフビズのバージョンです。 http://graphviz-dev.appspot.com/で動作しますが、私のローカルインストールでは動作しません(graphviz 2.27および2.28)。 – marapet

+0

はい、私はそれをうまく動作させることができませんでした。 – wmercer

+0

いいえ、私はどのバージョンがわかりません。 – marapet

関連する問題