在曲線上繪製帶有標籤的多個點的捷徑方法

在曲線上繪製帶有標籤的多個點的捷徑方法

讓我們考慮以下範例:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=.6pt]
\draw (1,0)--(20,0); 
\foreach \x in {1,...,20}{
\draw[fill] (\x,0) circle (1.5pt);
}   
\foreach \x/\a in {1/1,2/2,3/3,4/4,5/5,6/6,7/7,8/8,9/9,10/10,11/11,12/12,13 /13,14/14,15/15,16/16,17/17,18/18,19/19,20/20}{
\node[below] at (\x,0) {\a};
}
\end{tikzpicture}
\end{document}

這會產生

輸出

每當我使用以下快捷技術時都會出錯。

\foreach \x/\a in {1/1,...,20/20}{
  \node[below] at (\x,0) {\a};
 }

我怎麼能透過捷徑方法做到這一點?

答案1

使用相同的計數器來製作標籤。

 \draw[fill] (\x,0)node[below]{$\x$} circle (1.5pt);

在此輸入影像描述

 \documentclass{article}
 \usepackage{tikz}
 \begin{document}
 \begin{tikzpicture}[scale=.6]
 \draw (1,0)--(20,0); 
 \foreach \x in {1,...,20}{
 \draw[fill] (\x,0)node[below]{$\x$} circle (1.5pt);
 }   
 \end{tikzpicture}
 \end{document}

附:below=5pt只是為了告知,您可以使用例如來控制標籤和點之間的距離。

答案2

只是為了 PSTricks 的樂趣。

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(20,2)
\psline(0,1)(20,1)
\foreach \x in {0,...,20}{\qdisk(\x,1){2pt}\uput{10pt}[-90](\x,1){$\x\mathstrut$}}
\end{pspicture}
\end{document}

在此輸入影像描述

答案3

借助強大的 PSTricks 解決方案xfp包裹:

\documentclass{article}

\usepackage{pstricks-add}
\usepackage{xfp}

\newcommand*\Total{\fpeval{\maxNumber+1}}
\newcommand*\Unit{\fpeval{11.5/\maxNumber}}

\def\maxNumber{20}


\begin{document}

\begin{pspicture}(0,-0.35)(11.6,0)
\psset{unit = \Unit}
  \psline(0,0)(\maxNumber,0)
  \multido{\i = 0+1}{\Total}{%
    \psdot(\i,0)
    \uput[270](\i,0){\small $\i$}}
\end{pspicture}

\end{document}

輸出

請注意,您所要做的就是選擇 的值\maxNumber,然後繪圖將自動調整。

相關內容