여러 줄로 구성된 그림이 있습니다.
\begin{tikzpicture}
\shade[top color=black,bottom color=white] (-2,2) rectangle (2,1.75) node [above] {$n_2$};
\shade[top color=white, bottom color=black] (-2,0.75) rectangle (2,0.5);
\draw (-2,2)--(2,2);
\draw (-2,1.75)--(2,1.75);
\draw (-2,0.75)--(2,0.75);
\draw (-2,0.5)--(2,0.5);
\draw[blue, very thick, ->] (-3,2)--(-1.75,0.75) -- (-0.75,1.75)--(0.25,0.75)--(1.25,1.75)--(3.25,-0.25);
\draw[red, very thick, ->] (-3,1)--(-1.75,0.75)--(3.25,1.75);
\draw[green, very thick, ->] (-3,3)--(-1.75,0.75)--(-1.5,0.5)--(-0.5,0);
\node (-1.5,0.5) {$n_2$};
\node (10,10) {$n_1$};
\end{tikzpicture}
이제 이름이 $n_1$인 노드를 수평선 중앙(예: (0,1) 지점)에 배치하려고 합니다. 그러나 여기에 입력한 값에 관계없이 노드는 이동하지 않고 항상 $n_2$라는 이름의 두 번째 노드와 같은 위치에 유지됩니다. 왜? 그리고 어떻게 옮길 수 있나요?
답변1
Peter가 말했듯 at
이 좌표를 지정하려면 추가해야 합니다. 그러나 이러한 추가 노드는 필요하지 않습니다. 위의 "막대"에 노드를 직접 추가할 수 있습니다. 모든 경로에 노드를 추가할 수 있으며 직사각형은 여전히 경로입니다.
산출
암호
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\shade[top color=black,bottom color=white] (-2,2) rectangle (2,1.75) node [midway,above, inner sep=6pt] {$n_2$};
\shade[top color=white, bottom color=black] (-2,0.75) rectangle (2,0.5) node [midway, below, inner sep=6pt] {$n_1$};
\draw (-2,2)--(2,2);
\draw (-2,1.75)--(2,1.75);
\draw (-2,0.75)--(2,0.75);
\draw (-2,0.5)--(2,0.5);
\draw[blue, very thick, ->] (-3,2)--(-1.75,0.75) -- (-0.75,1.75)--(0.25,0.75)--(1.25,1.75)--(3.25,-0.25);
\draw[red, very thick, ->] (-3,1)--(-1.75,0.75)--(3.25,1.75);
\draw[green, very thick, ->] (-3,3)--(-1.75,0.75)--(-1.5,0.5)--(-0.5,0);
\end{tikzpicture}
\end{document}