Movimento horizontal de uma etiqueta girada em PGFPLOTS

Movimento horizontal de uma etiqueta girada em PGFPLOTS

No código a seguir, tenho um rótulo longo em uma das pontas da seta. Gostaria de girar o rótulo em 90 graus e colocá-lo logo abaixo da ponta da seta. Usei a rotateopção e a posopção de girar e mover o rótulo verticalmente. Como posso mover o rótulo horizontalmente para a direita para que ele seja exibido logo abaixo da ponta da seta?

\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}

insira a descrição da imagem aqui

Responder1

Use anchor=westem vez disso (sem pos; o padrão é 1.0). E não use o modo matemático para texto (não tenho certeza do seu caso de uso real aqui).

A explicação completa: quando a rotatechave é usada, as âncoras do nó ( north, south, etc. giram com ela (ou seja, é uma transformação de coordenadas locais). Portanto, "norte" quando o sistema de coordenadas principal está, na verdade, westdentro do sistema de coordenadas girado do nó .

\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}

insira a descrição da imagem aqui

informação relacionada