Tikz 使用 ++ 进行相对定位

Tikz 使用 ++ 进行相对定位

红色矩形处于正确的位置,但我需要蓝色矩形位于红色矩形右侧 4 毫米和 8 毫米处的同一高度(而不是下方,因为我的代码是这样做的)。

我使用 ++ 有什么错误?

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{frame}[fragile]
\frametitle{Tikztezt}
\begin{figure}\flushleft

\begin{tikzpicture}
\tikzset{bar1mm/.style={shape=rectangle, fill=blue, minimum height=5mm, minimum width=1mm, anchor=west}}
\node[bar1mm, fill=red] at (10mm,10mm) {}
++(4mm,0mm) node[bar1mm] {}
++(4mm,0mm) node[bar1mm] {};
\end{tikzpicture}

\end{figure}
\end{frame}
\end{document}

我实际上需要定位很多节点,这里的代码只是一个最小可行示例,这就是我更喜欢 ++ 的原因。

答案1

第一个节点使用自己的at机制,这样路径 pen 仍然位于(0,0)。这是因为\node(大致)比 短。并且每条路径在开始时\path node都自动假定 位于。\pgfpointorigin

你可以从以下路径开始

\path (10mm,10mm) node[bar1mm,...

然后移动笔(10mm,10mm),其余部分随之移动。

\begin{tikzpicture}[bar1mm/.style={shape=rectangle, fill=blue, minimum height=5mm, minimum width=1mm, anchor=west}]
\node (o) at (0,0) {O};
\path (10mm,10mm)node [bar1mm, fill=red]  {}
++(4mm,0mm) node[bar1mm] {}
++(4mm,0mm) node[bar1mm] {};
\end{tikzpicture}

在此处输入图片描述

相关内容