如何在 tkz-graph 中沿边移动边标签?

如何在 tkz-graph 中沿边移动边标签?

使用 tkz-graph 包时,我经常觉得需要稍微移动边缘上的标签,这些标签始终位于边缘的中间。在此示例中,我将标签0.5从一个节点移动到另一个更靠近节点的a节点,以避免与红色框相交。这里是 MWE:dd

\documentclass[border=10pt]{standalone}
\usepackage{tkz-graph}
\usetikzlibrary{fit}
\thispagestyle{empty}
\begin{document}
    \begin{tikzpicture}
        \GraphInit[vstyle=Normal]
        \SetGraphUnit{1.5}
        \Vertices{circle}{a,b,c,d,e}
        \Edge[label=1](a)(b)
        \Edge[label=2](a)(c)
        \Edge[label=0.5](a)(d)
        \Edge[label=3](a)(e)
        \node[draw=red!50,rounded corners=5mm,fit=(b.north) (a.south) (c.west) (a.east)](BORD) {};
    \node[right of=BORD,anchor=west,inner sep=1cm]{$\mathcal{G}$};
    \end{tikzpicture}
\end{document}

结果如下: tikzgraph 示例

如何使0.5标签沿着边缘移动而不是总是位于中心?

答案1

\Edge宏只是基本 TikZ 的语法糖,它绘制一条路径并在其上放置一个节点。路径上的节点可以接收密钥pos以指示节点要放置在哪个部分。要设置节点选项,\Edge您必须将它们包装在style选项中,即

\Edge[label=0.5,style={pos=.3}](a)(d)

将节点放置在从 开始的路径的三分之一处(a)。对于您的示例,我选择了pos=.25

\documentclass[border=10pt]{standalone}
\usepackage{tkz-graph}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}
  \GraphInit[vstyle=Normal]
  \SetGraphUnit{1.5}
  \Vertices{circle}{a,b,c,d,e}
  \Edge[label=1](a)(b)
  \Edge[label=2](a)(c)
  \Edge[label=0.5,style={pos=.25}](a)(d)
  \Edge[label=3](a)(e)
  \node[draw=red!50,rounded corners=5mm,fit=(b.north) (a.south) (c.west) (a.east)](BORD) {};
  \node[right of=BORD,anchor=west,inner sep=1cm]{$\mathcal{G}$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容