Как уменьшить пространство между двумя узлами, которые находятся над другим узлом?

Как я могу расположить узлы переменной 2 и переменной 3 так, чтобы они были ближе друг к другу и выше переменной 1?

\documentclass[jou]{apa7}
\usepackage{tikz}
\usepackage{fixltx2e}
\usetikzlibrary{shapes, shadows, arrows}
\usetikzlibrary{positioning}
\tikzset{mynode/.style={shape=rectangle, draw, align=center}
}

\begin{document}

\begin{figure*}
\begin{tikzpicture}
\node[mynode, text width=7cm,minimum height=1cm] (v1){Variable 1};
\node[mynode,above left= 2cm of v1, text width = 4cm, minimum height = 1cm](v2) {Variable 2};
\node[mynode,above right= 2cm of v1, text width=4cm, minimum height = 1cm] (v3){Variable 3};

\draw[-latex] (v2.south) -- (v1.north);
\draw[-latex] (v3.south) -- (v1.north);

\end{tikzpicture}
\end{figure*}

\end{document}

Что я получаю с приведенным выше кодом:

введите описание изображения здесь

Я бы хотел, чтобы они располагались так:

введите описание изображения здесь


person Marie    schedule 06.09.2020    source источник


Ответы (1)


Быстрый взлом: xshift узлы туда, где вы хотите, чтобы они были:

\documentclass[jou]{apa7}
\usepackage{tikz}
\usepackage{fixltx2e}
\usetikzlibrary{shapes, shadows, arrows}
\usetikzlibrary{positioning}
\tikzset{mynode/.style={shape=rectangle, draw, align=center}
}

\begin{document}

\begin{figure*}
\begin{tikzpicture}
\node[mynode, text width=7cm,minimum height=1cm] (v1){Variable 1};
\node[mynode,above left= 2cm of v1, text width = 4cm, minimum height = 1cm,xshift=3cm](v2) {Variable 2};
\node[mynode,above right= 2cm of v1, text width=4cm, minimum height = 1cm,xshift=-3cm] (v3){Variable 3};

\draw[-latex] (v2.south) -- (v1.north);
\draw[-latex] (v3.south) -- (v1.north);

\end{tikzpicture}
\end{figure*}

\end{document}

введите описание изображения здесь

person samcarter_is_at_topanswers.xyz    schedule 06.09.2020