¿Cómo especificar la posición de los nodos con títulos en un gráfico generado por pgfplots?

¿Cómo especificar la posición de los nodos con títulos en un gráfico generado por pgfplots?

Mi pregunta es ¿cómo especificar la posición del nodo en un gráfico? Aquí hay un MWE:

\begin{figure}
\begin{tikzpicture}
    \begin{axis}[
        xlabel=X (\%),
        ylabel=Y (\%),
            legend style={
                draw=none, fill=none, 
                font=\tiny,
                at={(0.5,0.17)},
                anchor=north,
                legend columns=4,
                legend cell align={right},
            },
            xmajorgrids,
        ]
            %CORING (2023)
        \addplot+ [red, mark=square*, nodes near coords,every node near coord/.append style=
                        {xshift=15pt,yshift=8pt,anchor=east,font=\footnotesize}, ultra thick]
                coordinates {
                    (88.25, 93.07)
                    (78.66, 93.83)
                    (66.60, 94.20)
                    (58.19, 94.42)
                    (40.00, 94.67)
                    (19.16, 94.75)
                    (00.00, 93.96)};
            \legend{
                    Method A
                    }
    \end{axis}
\end{tikzpicture}
\caption{My method. %in terms of accuracy versus FLOPs reduction. 
}
\end{figure}

ingrese la descripción de la imagen aquí

En este ejemplo, mi texto está superpuesto por líneas. La posición de todos los nodos está establecida por esto:

{xshift=15pt,yshift=8pt}

Pero esto no funciona bien para todos los nodos. Entonces quiero modificarla posición de cada nodo. ChatGPT sugiere esto pero no funciona:

Puede modificar la posición de cada nodo agregando la opción "nodo[pos]" a cada coordenada, donde "pos" es un valor entre 0 y 1 que especifica la posición del nodo a lo largo de la línea que conecta la coordenada con su etiqueta. Por ejemplo, para mover el nodo de la primera coordenada hacia la derecha, puede configurar "nodo[pos=0.5]" en lugar de "nodos cerca de coordenadas" y ajustar los valores "xshift" e "yshift" en consecuencia.

¡Gracias de antemano!

Respuesta1

Puede usar la opción coordinate stylepara modificar el estilo de ciertas etiquetas dependiendo de una condición específica (por supuesto, también puede configurar xshifto yshiftpara etiquetas en coordenadas específicas usando este mecanismo):

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        xlabel=X (\%),
        ylabel=Y (\%),
        legend style={
            draw=none, fill=none, 
            font=\tiny,
            at={(0.5,0.17)},
            anchor=north,
            legend columns=4,
            legend cell align={right},
        },
        xmajorgrids,
    ]
        %CORING (2023)
        \addplot+ [
            red, 
            mark=square*, 
            nodes near coords,
            every node near coord/.append style={
                font=\footnotesize
            }, 
            ultra thick, 
            coordinate style/.condition={x < 10 || x > 40}{
                anchor=west,
            },
            coordinate style/.condition={x > 60}{
                anchor=east,
            }
        ]
        coordinates {
            (88.25, 93.07)
            (78.66, 93.83)
            (66.60, 94.20)
            (58.19, 94.42)
            (40.00, 94.67)
            (19.16, 94.75)
            (00.00, 93.96)
        };
        \legend{
            Method A
        }
    \end{axis}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada