如何调整我的代码以便它复制该图像?

如何调整我的代码以便它复制该图像?
\documentclass{standalone} 
\usepackage{tkz-graph}
\usetikzlibrary{arrows.meta}
\tikzset{>={Latex[width=3mm,length=3mm]}}


\begin{document} 

\begin{tikzpicture}
    \GraphInit[vstyle=Dijkstra]
    \SetGraphUnit{4}
    \Vertices{square}{G,D,A,F}
    \WE(F){H}
    \EA(A){B}
    \EA(D){C}
    \NO(A){E}
    \draw [->] (H) -- (F);
    \Edge[label=$1$](H)(F)
    \Edge[label=$4$](G)(F)
    \Edge[label=$2$](H)(G)
    \Edge[label=$2$](G)(D)
    \Edge[label=$3$](D)(C)
    \draw [->] (F) -- (E);
    \Edge[label=$4$](F)(E)
    \Edge[label=$3$](A)(D)
    \Edge[label=$2$](A)(E)
    \Edge[label=$1$](A)(B)
    \Edge[label=$2$](A)(C)
    \Edge[label=$2$](C)(B)
    \draw [->] (E) -- (B);
    \Edge[label=$3$](E)(B)




    \SetUpEdge[lw=4pt,color=gray]
    \Edges[style={opacity=.3}](H,F,E,B)





\end{tikzpicture}
\end{document}

在此处输入图片描述

对于上述内容,我试图让代码看起来像紫色图像,但是我想保持与我的代码相同的颜色编码,即箭头为灰色,其他部分为黑色,请你帮我调整代码,因为我调整的所有内容都会使它看起来更糟,例如我的箭头尝试的代码中已经显示的那样。更新:我让箭头概念发挥作用,现在我只是想让箭头变大,让圆圈等看起来像我图片中的图表。更新 #2:让箭头变大

我不知道我之前是否已经解释清楚了,但是我在调​​整节点使其看起来像图像时遇到了麻烦,每次我尝试这样做时,节点都会变得混乱并且看起来与图像完全不一样。

答案1

在我的安装中tkz-graph不存在,但它是我的 TeXLive2019 安装的一部分。无论如何,我试图graphs更好地理解这个库,即使我目前的理解水平很低,这个图表也很容易获得,但想必如果理解得更好,它会变得更容易、更精简。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,calc,decorations.pathreplacing,graphs,quotes}
\tikzset{growing arrow/.style={decorate,
decoration={show path construction, 
moveto code={},
lineto code={
\draw[line width=1pt,-{Stealth[width=12pt,length=12pt]}]  
(\tikzinputsegmentfirst) --  (\tikzinputsegmentlast);
\fill ($ (\tikzinputsegmentlast)!6pt!0:(\tikzinputsegmentfirst) $) coordinate (aux)
 ($ (\tikzinputsegmentfirst)!0.5pt!90:(\tikzinputsegmentlast) $) 
 -- ($ (aux)!2pt!-90:(\tikzinputsegmentfirst) $) 
 --($ (aux)!2pt!90:(\tikzinputsegmentfirst) $) 
 -- ($ (\tikzinputsegmentfirst)!0.5pt!-90:(\tikzinputsegmentlast) $) ;
},
curveto code={},
closepath code={},
}}}
%\definecolor{prp}{RGB}{99,51,156}
\begin{document}
\begin{tikzpicture}[x=2cm,y=pi*0.5cm,font=\sffamily]
\graph[nodes={circle,fill,text=white,minimum size=2em}] 
{{
a[yshift=-1cm] -- {
 b[xshift=2mm]   --[growing arrow,"5"] d[yshift=3mm] ,
c [> "2"] -- e [> "10",xshift=3mm]} -- f
};
 c -- b [> "1"];
 c --["8"] d ;
 e --["2"] d;
 e --["5"] f;
 d --["6"] f;
};
\draw[growing arrow] (a) to["4"] (b);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容