Dibujar flecha entre dos puntos en una lista en TikZ

Dibujar flecha entre dos puntos en una lista en TikZ

Estoy intentando conectar un conjunto de puntos con flechas usando tkiz. Estoy tratando de demostrar el movimiento de algo en función del tiempo con la flecha que indica el movimiento. Puedo obtener los puntos donde quiero simplemente teniendo una lista de las coordenadas x y usando \foreach para dibujarlas. Intenté buscar y no veo nada que haga referencia a lo que quiero hacer. Mi código para dibujar las flechas es

\foreach \x in {0,1.2,2.4,3.6,4,4.4,4.8,6.8,8.8}
    \draw[->] (\x,0.5) -- (\x+1,0.5);

pero esto simplemente dibuja una flecha de longitud 1 en la coordenada en lugar de ir a la siguiente coordenada. Mi salida del código completo.

Gracias de antemano por cualquier ayuda.

Respuesta1

Aquí hay dos enfoques diferentes para usted.

Movimiento 1

¿Por qué no muestras solo los puntos? Ya visualiza movimiento. Para hacerlo, simplemente coloque nodos con texto vacío \node[dot] at (\x,.5) {};dentro del \foreachbucle.

Movimiento 2

Comience con el movimiento 1 y luego dibuje solo pequeñas líneas con una flecha, omitiendo el primer punto de su lista. Nota:

  • radio de punto establecido en 4 pt medianteminimum size=4pt,inner sep=0
  • introduciendo un pequeño cambio para ver mejor las flechas\draw[<-,colr,xshift=-2pt] (\x,-.5) -- +(-2pt,0);
  • equilibre ambos parámetros, aquí 4 puntos y 2 puntos, también escriba la ubicación de sus puntos

resultado

\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}
 \begin{tikzpicture}[
    dot/.style={fill=black,circle,minimum size=4pt,inner sep=0},
    >={Stealth},
    colr/.style={red!50},
 ]
    % ~~~ help grid ~~~~~~~~~~~~~~~~~~~~~~~~~~
    \draw[teal!50] (0,-1) grid (9,2);
    
    % ~~~ motion 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    \draw[gray] (0,.5) -- (8.8,.5);
    \foreach \x in {0,1.2,2.4,3.6,4,4.4,4.8,6.8,8.8}    
        \node[dot] at (\x,.5) {};

    
    % ~~~ motion 2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    \draw[colr] (0,-.5) -- (8.8,-.5);
    \foreach \x in {0,1.2,2.4,3.6,4,4.4,4.8,6.8,8.8}    
        \node[dot] at (\x,-.5) {};

    \foreach \x in {  1.2,2.4,3.6,4,4.4,4.8,6.8,8.8}
        \draw[<-,colr,xshift=-2pt] (\x,-.5) -- +(-2pt,0);
        
 \end{tikzpicture}
\end{document}

información relacionada