图中边的编号一致

图中边的编号一致

这是我的代码

\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{tkz-graph}
\usetikzlibrary{arrows,positioning,automata}
\PassOptionsToPackage{usernames,dvipsnames,svgnames}{xcolor}

\begin{document}

\begin{tikzpicture}
[>=stealth',shorten >=1pt,node distance=3cm,on grid,initial/.style    ={}]
  \node[state]          (a)                         {$3$};
  \node[state]          (b) [right =of a]           {$4$};
  \node[state]          (c) [above =of b]           {$2$};
  \node[state]          (d) [above =of a]           {$1$};
\tikzset{mystyle/.style={->,double=green}} 
\tikzset{every node/.style={fill=white}} 
\path (a)     edge [mystyle]    node   {$5$} (b)
      (a)     edge [mystyle]    node   {$3$} (c) 
      (b)     edge [mystyle]    node   {$4$} (c)
      (b)     edge [mystyle]    node   {$2$} (d)
      (d)     edge [mystyle]    node   {$1$} (a);
\end{tikzpicture}

\end{document}

这给了我这张图片

在此处输入图片描述

我该如何更改代码,使得边 2 和边 3 的编号不再一致?

答案1

pos=按以下方式使用箭头标签上的选项:

\path (a)     edge [mystyle]    node   {$5$} (b)
      (a)     edge [mystyle,pos=.3]    node   {$3$} (c) 
      (b)     edge [mystyle]    node   {$4$} (c)
      (b)     edge [mystyle,pos=.3]    node   {$2$} (d)
      (d)     edge [mystyle]    node   {$1$} (a);

可以根据需要调整位置,从 0 到 1。

相关内容