![TikZ/Graph はエッジラベルの長さを考慮して自動配置できますか?](https://rvso.com/image/476251/TikZ%2FGraph%20%E3%81%AF%E3%82%A8%E3%83%83%E3%82%B8%E3%83%A9%E3%83%99%E3%83%AB%E3%81%AE%E9%95%B7%E3%81%95%E3%82%92%E8%80%83%E6%85%AE%E3%81%97%E3%81%A6%E8%87%AA%E5%8B%95%E9%85%8D%E7%BD%AE%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
さまざまな長さのラベルを端に付けたグラフを自動的に描画したいのですが、見栄えを良くするには次の条件が必要です。
- ノードが自動的に配置される場合下に別の場合、エッジ ラベルの長さはノード間の距離に影響を与えません。
- 自動的に配置される場合右の方へラベルが別のラベルの端にくるように、ノード間の距離を離す必要があります。
例: ここで、左側は によって生成され\graph
、右側は手動で配置されたものですが、これは避けたいものです。
質問: これを で自動的に実現するにはどうすればよいでしょうか\graph
?
MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,quotes}
\begin{document}
\tikz \graph [edge quotes={auto}] {
1 ->["hello world"] {2, 3};
};
\begin{tikzpicture}
\node (1) {1};
\node (2) at (2.5cm, 0) {2};
\node (3) at (1cm, -1cm) {3};
\draw (1) -> node[above] {hello world} (2)
(1) -> node[fill=white, fill opacity=.5,text opacity=1] {hello world} (3);
\end{tikzpicture}
\end{document}