Tengo una figura que consta de varias líneas:
\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}
Ahora quiero poner el nodo con el nombre $n_1$ en el medio de las líneas horizontales (es decir, en el punto (0,1)). Pero independientemente de los valores que ingrese allí, el nodo no se mueve, siempre permanece en el mismo lugar que el segundo nodo con el nombre $n_2$. ¿Por qué? ¿Y cómo puedo moverlo?
Respuesta1
Como dijo Peter, debes agregar at
para especificar las coordenadas. Sin embargo, no necesita estos nodos adicionales. Puede agregar los nodos directamente a las "barras" de arriba. Puede agregar nodos a cualquier camino y el rectángulo seguirá siendo un camino.
Producción
Código
\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}