Usando \ref en una etiqueta y de un pgfplot

Usando \ref en una etiqueta y de un pgfplot

Cuando uso \labely \refpara distinguir dos ejes y, las marcas dibujadas por \refya no están en las líneas después de rotarlas junto con el resto de la etiqueta (ver ejemplo a continuación). ¿Algunas ideas?

\documentclass{article}

\usepackage{pgfplots}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[axis y line*=left, scale only axis,
                 ylabel={estimation 2 \ref{pgf:allsamples}}]
      \addplot[blue,mark=+] table {data2.csv};
      \label{pgf:allsamples}
    \end{axis}
    \begin{axis}[axis y line*=right, scale only axis,
             ylabel={estimation 1 \ref{pgf:swingvotes}}, ylabel near ticks]
      \addplot[red,mark=x] table {data1.csv};
      \label{pgf:swingvotes}
    \end{axis}
  \end{tikzpicture}
\end{document}

la referencia no funciona como se esperaba

Respuesta1

De hecho, hay un error en pgfplots: el \refcomando comprueba si "se invoca desde una imagen tikz". Pero esta verificación tiene errores porque, bueno,esinvocado desde dentro de un tikzpicture, pero el tikzpicture se ha interrumpido para mostrar un nodo.

Como resultado del error, las etiquetas tienen un desplazamiento inesperado.

Hasta que se solucione el error, puede utilizar la siguiente solución alternativa:

\documentclass{article}

\usepackage{pgfplots}

\def\fixcheck{%
    \def\tikzifinpicture##1##2{##2}%
}%

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[axis y line*=left, scale only axis,
                 ylabel={\fixcheck estimation 2 \ref{pgf:allsamples}}]
      \addplot[blue,mark=+] {x+5};
      \label{pgf:allsamples}
    \end{axis}
    \begin{axis}[axis y line*=right, scale only axis,
             ylabel={\fixcheck estimation 1 \ref{pgf:swingvotes}}, ylabel near ticks]
      \addplot[red,mark=x] {x};
      \label{pgf:swingvotes}
    \end{axis}
  \end{tikzpicture}
\end{document}

En todas sus etiquetas, agrega la \fixcheckmacro que simplemente hará que la verificación devuelva "falso". En ese caso, \refagregará una imagen tikz temporal.

información relacionada