다른 화살표의 중앙을 가리키는 화살표

다른 화살표의 중앙을 가리키는 화살표

저는 tikzp를 처음 사용하며 이 작업을 수행하는 데 도움이 필요합니다(조정자를 대표함). 누군가 내 코드를 도와줄 수 있나요? 화살표 길이를 어떻게 연장하나요? 그리고 tikzp에게 이런 종류의 화살표를 그려야 한다고 어떻게 말해야 할까요?

내가 얻은 것:여기에 이미지 설명을 입력하세요

내가 원하는 것:구함

내 코드:

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usetikzlibrary{positioning}
\begin{document}


\begin{figure}[h]
\label{illustration}
\centering
\caption{The model}
\begin{tikzpicture}[
node distance=1cm and 1cm,
ar/.style={->,>=latex},
mynode/.style={
draw,
text width=4cm,
minimum height=1cm,
 align=center
 }
]
\node[mynode] (LE) {Level of expertise};
\node[mynode,right=of LE] (PS) {Problem solving time};
\node[mynode,below=of LE] (FI) {Fluid intelligence};


\draw[ar]
  (LE) -> node[above] {-}  (PS);
  \draw[ar]
  (FI) -> node[left] {-}  (PS);
\end{tikzpicture}
\end{figure}
\end{document}

답변1

에서 coordinate로 화살표를 그릴 때 즉석에서 를 정의하는 또 다른 답변입니다 .LEPS

\documentclass[border=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{tikzpicture}%
  [node distance=1cm and 1cm,
   ar/.style={->,>=latex},
   mynode/.style=
    {draw,
     text width=4cm,
     minimum height=1cm,
     align=center
    }
  ]
  \node[mynode] (LE) {Level of expertise};
  \node[mynode,right=of LE] (PS) {Problem solving time};
  \draw[ar] (LE) -> node[above] {-} coordinate(LE-PS) (PS);
  \node[mynode,below=of LE-PS] (FI) {Fluid intelligence};
  \draw[ar] (FI) -> node[left] {-}  (LE-PS);
\end{tikzpicture}

\end{document}

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

답변2

calc라이브러리를 사용하여 ($(LE)!0.5!(PS)$)원하는 위치에 도달

나는 이 명령을 사용하여 노드(FI)를 배치하고 세그먼트를 추적했습니다.

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

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}

\pgfplotsset{compat=1.8}
\usetikzlibrary{positioning,calc}
\begin{document}


\begin{figure}[h]
\label{illustration}
\centering
\caption{The model}
\begin{tikzpicture}[
node distance=1cm and 1cm,
ar/.style={->,>=latex},
mynode/.style={
draw,
text width=4cm,
minimum height=1cm,
 align=center
 }
]
\node[mynode] (LE) {Level of expertise};
\node[mynode,right=of LE] (PS) {Problem solving time};

\node[mynode,below=of $(LE)!0.5!(PS)$] (FI) {Fluid intelligence};  % <-- changed


\draw[ar]
  (LE) -> node[above] {-}  (PS);
  \draw[ar]
  (FI) -> node[left] {-} ($(LE)!0.5!(PS)$); % <-- changed
\end{tikzpicture}
\end{figure}
\end{document}

답변3

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

\documentclass{article}
\usepackage{caption}        % <-- added
\usepackage{tikz}   
\usetikzlibrary{positioning}

\begin{document}
    \begin{figure}[h]
    \centering
\caption{The model}
    \label{illustration}    % <-- changed position to after caption
\begin{tikzpicture}[
node distance = 1cm and 2cm,% <-- changed
    ar/.style = {-latex},
mynode/.style = {draw,
                text width=4cm,
                minimum height=1cm,
                align=center}
                    ]
\node[mynode] (LE) {Level of expertise};
\node[mynode,right=of LE] (PS) {Problem solving time};
\node[mynode,below=of LE.south east] (FI) {Fluid intelligence};
%
\draw[ar]   (LE) -- coordinate[label=$-$] (a)  (PS);    % <-- changed
\draw[ar]   (FI) -- node[left] {$-$}  (a);              % <-- changed
\end{tikzpicture}
    \end{figure}
\end{document}

관련 정보