在 TikZ 清單中的兩點之間繪製箭頭

在 TikZ 清單中的兩點之間繪製箭頭

我正在嘗試使用 tkiz 用箭頭連接一組點。我試圖用指示運動的箭頭來示範某物的運動作為時間的函數。我只需擁有 x 座標列表並使用 \foreach 來繪製它們,就可以得到我想要的點。我嘗試過搜索,但沒有看到任何引用我想做的事情。我繪製箭頭的程式碼是

\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);

但這只是在該座標處繪製一個長度為 1 的箭頭,而不是轉到下一個座標。 我的完整程式碼的輸出

預先感謝您的任何幫助。

答案1

這裡有兩種不同的方法適合您。

議案1

為什麼不只顯示點?它已經將運動可視化了。為此,只需將帶有空文字的節點放置在循環\node[dot] at (\x,.5) {};\foreach

運動2

從動作 1 開始,然後用箭頭畫出小線,省略清單中的第一個點。筆記:

  • 點半徑設定為 4 pt viaminimum size=4pt,inner sep=0
  • 引入一點偏移以更好地看到箭頭\draw[<-,colr,xshift=-2pt] (\x,-.5) -- +(-2pt,0);
  • 平衡兩個參數,這裡是 4pt 和 2pt,還有你的點位置

結果

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

相關內容