在 Tikz 中使边缘适合其标签大小

在 Tikz 中使边缘适合其标签大小

我正在使用 Tikz 图库绘制后缀树,我希望边的大小与它们的标签相符。这可能吗?有些标签很短,有些则很长,因此树的长度是可变的。我知道的唯一函数是级别距离,但它会为同一树级别中的所有节点设置相同的距离。

这是我目前拥有的代码:

\documentclass{standalone}

\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{sansmath}

\usepackage{tikz}

\usetikzlibrary{graphs}
\usetikzlibrary{graphdrawing}
\usetikzlibrary{quotes}
\usegdlibrary {trees}

\begin{document}
\begin{tikzpicture}[]

\graph[edge quotes={fill=white,inner sep=0pt, font=\tiny\ttfamily},
       tree layout,
       sibling distance=0pt,
       level distance=0pt,
       nodes={circle,draw}]{

    "" -> {""[>"\$"],
           ""[>"a"] --[sloped] {""[>"gg", level distance=2.3cm] --[sloped] {""[>"\$tcgggattc"],
                                                                            ""[>"gct\$"]},
                                ""[>"tt"] --[sloped] {""[>"aaaa"],
                                                      ""[>"cggattaggcttagggct\$"]}
                                },
           ""[>"c", level distance=2.2cm] --[sloped] { ""[>"\$tcgggattcggattagg"],
                                                       ""[>"t"] },
           ""[>"g"],
           ""[>"t"]}
};

\end{tikzpicture}
\end{document}

这是我获得的图像:

我希望标有 gg 和 tt 的边缘能够适合标签。

任何帮助,将不胜感激 :)

相关内容