节点局部坐标系

节点局部坐标系

这本质上是同一个问题或者,但在所有三个问题中,定义新坐标的图片都位于 tikzpicture 的 (0, 0)。 就我而言,事实并非如此。

梅威瑟:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit,calc}

\pagestyle{empty}
\usepackage{parskip}

\begin{document}
    \begin{tikzpicture}
        \coordinate (TL) at (1+.3*rand,4+.3*rand);
        \coordinate (BR) at (6+.3*rand,1+.3*rand);
        \node [draw,fit=(TL) (BR)]{Background};
        \begin{scope}
            \node at (5,5) {X};
        \end{scope}
    \end{tikzpicture}
\end{document}

截屏

举例来说,如何在节点内设置坐标系 (0..10),以便 (5,5) 位于框的中间?

答案1

只需要平移到坐标系的西南角即可。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit,calc}

\pagestyle{empty}
\usepackage{parskip}

\begin{document}
    \begin{tikzpicture}
        \coordinate (TL) at (1+.3*rand,4+.3*rand);
        \coordinate (BR) at (6+.3*rand,1+.3*rand);
        \node [draw,fit=(TL) (BR)] (fit) {Background};
        \begin{scope}[shift={(fit.south west)},
        x={($0.1*($(fit.south east)-(fit.south west)$)$)},
        y={($0.1*($(fit.north west)-(fit.south west)$)$)}]
            \node at (5,5) {X};
        \end{scope}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容