図の中央にノードを配置する

図の中央にノードを配置する

複数の線で構成された図があります:

\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$ という名前の 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}

関連情報