TikZ를 배우는 초보자로서 저는 다음을 시도했습니다.
\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{automata, positioning}
\begin{document}
\begin{tikzpicture} [draw=black,
node distance = 3cm,
on grid,
auto,
every loop/.style={stealth-}]
\node (e1) [state] {$E$};
\node (c1) [state, right = of e1] {$C$};
\node (a1) [state, right = of c1] {$A$};
\node (t1) [state, below = of c1] {$T1$};
\node (a2) [state, right = of a1] {$A$};
\node (c2) [state, right = of a2] {$C$};
\node (e2) [state, right = of c2] {$E$};
\node (t2) [state, below = of c2] {$T2$};
% Arrows
\path [-stealth, thick]
(e1) edge node {$e^2$} (t1)
(c1) edge node {$c^2$} (t1)
(a1) edge node {$h^2$} (t1)
(e1) edge [loop above] node {1}()
(c1) edge [loop above] node {1}()
(a1) edge [loop above] node {1}()
(e2) edge node {$e^2$} (t2)
(c2) edge node {$c^2$} (t2)
(a2) edge node {$h^2$} (t2)
(e2) edge [loop above] node {1}()
(c2) edge [loop above] node {1}()
(a2) edge [loop above] node {1}()
(a1) edge [bend left] node {1}(a2)
(c1) edge [bend left] node {1}(c2);
\end{tikzpicture}
\end{document}
그리고 이것이 현재 결과입니다:
개선이 필요함:
- 두 개의 굽힘 경로를 양방향 화살표가 있는 경로로 변경합니다.
- 겹치는 것을 피하기 위해 긴 굽힘 경로를 조금 더 높이십시오.
- 하단의 두 노드 T1과 T2를 원형에서 직사각형으로 변경합니다.
- 6개의 레이블(e^2, c^2, h^2, ...)을 가로로 정렬합니다.
감사해요!
답변1
여기요!
\documentclass[border=0.2cm]{standalone}
% https://tex.stackexchange.com/questions/678743/struggling-in-drawing-a-path-graph-in-tikz
\usepackage{tikz}
\usetikzlibrary{automata, positioning}
\begin{document}
\begin{tikzpicture} [draw=black,
node distance = 3cm,
on grid,
auto,
every loop/.style={stealth-},
myrect/.style={rectangle,draw,inner sep=8pt}]
\node (e1) [state] {$E$};
\node (c1) [state, right = of e1] {$C$};
\node (a1) [state, right = of c1] {$A$};
\node (t1) [myrect, below = of c1] {$T1$};
\node (a2) [state, right = of a1] {$A$};
\node (c2) [state, right = of a2] {$C$};
\node (e2) [state, right = of c2] {$E$};
\node (t2) [myrect, below = of c2] {$T2$};
% Arrows
\path [-stealth, thick]
(e1) edge node[midway,right=3pt] {$e^2$} (t1)
(c1) edge node[midway,right] {$c^2$} (t1)
(a1) edge node[midway,right] {$h^2$} (t1)
(e1) edge [loop above] node {1}()
(c1) edge [loop above] node {1}()
(a1) edge [loop above] node {1}()
(e2) edge node[midway,right] {$e^2$} (t2)
(c2) edge node[midway,right] {$c^2$} (t2)
(a2) edge node[midway,right=2pt] {$h^2$} (t2)
(e2) edge [loop above] node {1}()
(c2) edge [loop above] node {1}()
(a2) edge [loop above] node {1}()
(a1) edge [<->,bend left] node {1}(a2)
(c1) edge [<->,bend left=50] node {1}(c2);
\end{tikzpicture}
\end{document}