¿Cómo puedo conectar un punto aleatorio en un trazado suave con el eje?

¿Cómo puedo conectar un punto aleatorio en un trazado suave con el eje?

Tengo un dibujo suave y aleatorio (solo conecta puntos suavemente) y quiero resaltar un punto entre los puntos. El resaltado debe realizarse conectando el punto en el gráfico con su coordenada en el eje x.

Aquí hay un MWE que me gustaría mantener como está.

\documentclass{standalone}

\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
 \begin{tikzpicture}
      \begin{axis}[ytick=\empty,xtick=\empty, 
             axis on top=false,xmin=0, xmax=10, ymin=0, ymax=5, 
             axis x line=left, axis y line=left, clip=false]
      \node at (rel axis cs:1,0) [above, anchor=north west] {$x$};
      \node at (rel axis cs:0,1) [above, anchor=west] {$y$};
      \addplot[smooth] coordinates {
       (0,0)
       (2,3)
       (5,1.2)
       (5.8,4)
       (8,3.8)
       (10,3.5) 
       } coordinate [pos=.9] (prior) ;

       \end{axis}
  \end{tikzpicture}
\end{document}

Quiero conectar la coordenada priorcon el eje x usando una línea paralela al eje y. Mi opinión fue esta

\draw[dotted] (prior)-- (rel axis cs:0.9,0);

Sin embargo, por alguna razón que no me queda clara, esta no es la coordenada correcta (está un poco a la derecha). Ahora me pregunto, ¿cómo puedo evaluar la coordenada correcta? La función traza un rango de, 0:10por lo que mis habilidades matemáticas determinarían que .9esto también debería ser .9de la longitud del eje x. Sin embargo, esto parece ser incorrecto. ¿Alguien tiene una idea de cuál es la coordenada correcta? O incluso más sencillo: ¿Cómo puedo conectar el punto (anterior) con el eje x de la forma más corta posible?

Intenté trabajar con la solución sugerida en una respuesta a esta pregunta:Pgfplots suaves. El problema es que no conozco la coordenada y del punto anterior.

Para completar, aquí está el resultado que produce (sin importar las diferentes etiquetas del eje)

ingrese la descripción de la imagen aquí

Respuesta1

¿Entonces estás buscando esto?

La razón por la que pos=0.9no está en x = 0,9 es que, de hecho, la coordenada está situada en el 90% de la longitud de la línea. Y debido a que hay mucho "arriba y abajo" al inicio de la línea (es decir, en valores x bajos), esta parte de la línea es "más larga" que la parte al final de la línea (es decir, en valores x altos ), que es casi una línea recta horizontal.

(Solo para completar: entonces, si su intención era colocar un nodo en x=0.9 en la línea, actualmente esto no es posible usando la posfunción directamente, pero ya hay una solicitud de función para eso en elRastreador de parcelas PGFP. Pero, por supuesto, esto también se puede hacer indirectamente, por ejemplo, utilizando la intersectionsbiblioteca de TikZ).

% used PGFPlots v1.14
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        % use this `compat' level or higher so there is no need any more to prefix
        % TikZ coordinates with `axis cs:'
        compat=1.11,
    }
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        xtick=\empty,
        ytick=\empty,
        xmin=0,
        xmax=10,
        ymin=0,
        ymax=5,
        axis lines=center,
        % (moved the axis labels here)
        xlabel={$x$},
        ylabel={$y$},
        xlabel style={anchor=north west},
        ylabel style={anchor=north east},
    ]

        \addplot [smooth] coordinates {
            (0,0)
            (2,3)
            (5,1.2)
            (5.8,4)
            (8,3.8)
            (10,3.5)
        }
            coordinate [pos=.9] (prior)
        ;

        % to draw a vertical line from `prior' down to the x axis use the `|-' operator and state an arbitrary x value, but 0 as y value
        \draw [dotted] (prior) -- (prior |- 0,0);
    \end{axis}
\end{tikzpicture}
\end{document}

imagen que muestra el resultado del código anterior

información relacionada