![Movimiento horizontal de una etiqueta rotada en PGFPLOTS](https://rvso.com/image/298798/Movimiento%20horizontal%20de%20una%20etiqueta%20rotada%20en%20PGFPLOTS.png)
En el siguiente código tengo una etiqueta larga en una de las puntas de flecha. Me gustaría rotar la etiqueta 90 grados y luego colocarla justo debajo de la punta de la flecha. Usé la rotate
opción y la pos
opción de rotar y mover la etiqueta verticalmente. ¿Cómo puedo mover la etiqueta horizontalmente hacia la derecha para que se muestre justo debajo de la punta de la flecha?
\documentclass[12pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scale=5,
anchor=origin,
axis x line=middle,
axis y line=middle,
every axis x label/.style={at={(current axis.right of origin)},anchor=west},
every axis y label/.style={at={(current axis.above origin)},anchor=south},
enlarge x limits=0.05,
enlarge y limits=0.1,
xlabel=$x$,
ylabel=$y$,
x=1cm, y=1cm,
xtick=\empty,
ytick=\empty
]
\addplot [domain=-.5:1.65] {sin(deg(x))};
\draw[blue,->] (axis cs:pi/6,0.5)--(axis cs:pi/6,0) node[anchor=north, rotate=-90, pos=1.5]{$long-label$};
\draw[blue,->] (axis cs:pi/2,1)--(axis cs:pi/2,0) node[anchor=north]{$s_2$};
\end{axis}
\end{tikzpicture}
\end{document}
Respuesta1
Úselo anchor=west
en su lugar (sin pos
; el valor predeterminado es 1.0
). Y no utilice el modo matemático para texto (no estoy seguro de su caso de uso real aquí).
La explicación completa: cuando rotate
se usa la clave, los anclajes del nodo ( north
,, south
etc. giran con ella (es decir, es una transformación de coordenadas local). Entonces, "norte" con el sistema de coordenadas principal está en realidad west
dentro del sistema de coordenadas rotado del nodo. .
\documentclass[12pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scale=5,
anchor=origin,
axis x line=middle,
axis y line=middle,
every axis x label/.style={at={(current axis.right of origin)},anchor=west},
every axis y label/.style={at={(current axis.above origin)},anchor=south},
enlarge x limits=0.05,
enlarge y limits=0.1,
xlabel=$x$,
ylabel=$y$,
x=1cm, y=1cm,
xtick=\empty,
ytick=\empty
]
\addplot [domain=-.5:1.65] {sin(deg(x))};
\draw[blue,->] (axis cs:pi/6,0.5)--(axis cs:pi/6,0) node[anchor=west, rotate=-90]{long-label};
\draw[blue,->] (axis cs:pi/2,1)--(axis cs:pi/2,0) node[anchor=north]{$s_2$};
\end{axis}
\end{tikzpicture}
\end{document}