그래프 가장자리에 방향을 그리는 방법

그래프 가장자리에 방향을 그리는 방법

다음과 같은 2가지 질문이 있습니다.

우선 제가 제공한 MWE는 지오지브라에서 부분적으로 편집되었음을 알려드립니다.

질문: 1 이 그래프에서 네 모서리 모두에 방향(예: >)을 추가하고 싶습니다.

질문: 2 동일한 그래프를 그리는 다른 방법이 있습니까? 왜냐하면 나는 새로운 그림 그리기 기술을 배우고 싶기 때문입니다.

MWE:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{pgfplots}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
  \draw [line width=1pt] (0,0)-- (5,0);
  \draw [line width=1pt] (5,0)-- (5,5);
  \draw [line width=1pt] (5,5)-- (0,5);
  \draw [line width=1pt] (0,5)-- (0,0);
  \draw [fill=black] (0,0) circle (1.8pt);
  \draw[color=black] (0.05,-0.45) node {$D$};
  \draw [fill=black] (5,0) circle (1.8pt);
  \draw[color=black] (5.05,-0.45) node {$C$};
  \draw [fill=black] (5,5) circle (1.8pt);
  \draw[color=black] (5.0,5.4) node {$B$};
  \draw [fill=black] (0,5) circle (1.8pt);
  \draw[color=black] (0.05,5.4) node {$A$};
  \draw[color=black] (2.5,-0.45) node {$e_3$};
  \draw[color=black] (5.4,2.7) node {$e_2$};
  \draw[color=black] (2.5,5.3) node {$e_1$};
  \draw[color=black] (-0.4,2.7) node {$e_4$};
 \end{tikzpicture}

\end{document}

답변1

이미지는 다양한 방법으로 그릴 수 있습니다. 한 가지 방법은 tikz라이브러리를 사용 positioning하고 quotes상대적으로 짧은 코드를 제공하는 것입니다.

\documentclass[tikz, margin=3pt]{standalone}
\usetikzlibrary{arrows.meta,
                positioning,
                quotes}

\begin{document}
    \begin{tikzpicture}[
dot/.style = {circle, fill, inner sep=1.6pt, outer sep=0pt,
              node contents={}},
every edge/.style = {draw, line width=1pt,-{Stealth[angle=60:3pt 3]}}
                    ]
\node (d) [dot,label=below:$D$];
\node (c) [dot,label=below:$C$, right=5 of d];
\node (b) [dot,label=$B$,above=5.4 of c];
\node (a) [dot,label=$A$,above=5.4 of d];
%
\draw   (a) edge ["$e_1$"]  (b)
        (b) edge ["$e_2$"]  (c)
        (c) edge ["$e_3$"]  (d)
        (d) edge ["$e_4$"]  (a);
    \end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

위 이미지의 노드는 이전 노드를 기준으로 위치가 지정되고, 정점 레이블은 이를 정의하는 노드에 대한 레이블로 기록되며, 가장자리 레이블은 library 로 사용됩니다 quotes. 정점을 연결하는 eh edge를 정의하여 화살표를 추가합니다.

편집하다:

죄송합니다. 화살표를 잊어버렸습니다... 이제 추가되었습니다.

답변2

여기에 한 가지 방법이 있습니다.

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[thick,>=stealth,
n/.style={circle,fill,minimum size=2mm,inner sep=0}]
\def\a{5}
\path
(0,0)      node[n] (A) {} node[above left]  {A}
++(0:\a)   node[n] (B) {} node[above right] {B}   
++(-90:\a) node[n] (C) {} node[below right] {C} 
++(180:\a) node[n] (D) {} node[below left]  {D};
\draw[->] (A)--(B) node[midway,above] {$e_1$};
\draw[->] (B)--(C) node[midway,right] {$e_2$};
\draw[->] (C)--(D) node[midway,below] {$e_3$};
\draw[->] (D)--(A) node[midway,left]  {$e_4$};
\end{tikzpicture}
\end{document}

관련 정보