重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

図にも添付しているのですが、Graphvizの矢印が到達する位置を選択するにはどうしたらよいでしょうか。

上下左右の位置から選択したいです。

a->b[dir=none, ???];という時に、???の箇所にどのように文字を入力すれば可能なのでしょうか。

以上、ご教授のほどよろしくお願いいたします。

「graphvizで到達矢印の位置を選択し」の質問画像

A 回答 (1件)

結論から言う、 ??? ではなく、 a,bの指定で、「aの何処」から「bの何処」という感じで使います。


a:n -> b:sw ;
とすると、 a:n が ノードa の 上( n=北=上) 、 b:sw が ノードb の 左下( sw=南西 ) となり
ノードa の 上 から ノードb の 左下 へのエッジになります。


http://www.graphviz.org/content/dot-language
に書いてはあるんですが、ちょっとわかりずらいです。

エッジの文法は
edge_stmt : (node_id | subgraph) edgeRHS [ attr_list ]
で、 node_id は
node_id : ID [ port ]
で、portは
port : ':' ID [ ':' compass_pt ]
で compass_ptは
compass_pt : (n | ne | e | se | s | sw | w | nw | c | _)
です。

a->b [dir=none];
というのは
node_id nodeop node_id attr_list
という文法に従っていて、
node_idは a
edgeop は ->
node_idは b
attr_list は [dir=none] ということになります。

ここで、 node_id として、何処に接続するかを port で指定するようにします。
compass_pt を使った例が最初に示したものです。
他にIDを使って指定する例が以下に載っています
http://www.graphviz.org/content/node-shapes
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!