如何在不同的替代距離處繪製帶有刻度標籤的線性軸?

如何在不同的替代距離處繪製帶有刻度標籤的線性軸?

我需要幫助來繪製一個線性軸,該軸在軸下方有一個刻度標籤,彼此之間的距離逐漸不同,就像樓梯一樣。我嘗試使用 tikz 套件來繪製它,但我不知道這樣做。我怎樣才能做到這一點?我附上了我需要的一些圖像以及在其中編寫的程式碼,我可以實現將所有刻度標籤定位在距軸不同距離的位置,但它們都在同一級別。該圖表不是時間表,謝謝

這是我可以用該程式碼得到的:

在此輸入影像描述

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{center}
    \begin{tikzpicture}
        % Dibujo los ejes...
        \draw[thick,|->] (0,0)--(10,0) node[right] {$t$}; % Eje x
        % Enumeración del eje x
        \foreach \x/\xtext in {0/C_0, 1/C_1, 2/C_2, 3/C_3, 4/\cdots, 5/C_{\overline{p-1}}, 6/C_p, 7/C_{\overline{p+1}}, 8/\cdots, 9/C_{\overline{n-1}}, 10/C_n}  
        %\foreach \x/\xtext in {0/C_0, 1/C_1, 2/C_2, 3/C_3, 4/\cdots, 5/C_{\overline{(p-1)}}, 6/C_p, 7/C_{\overline{(p+1)}}, 8/\cdots, 9/C_{\overline{(n-1)}}, 10/C_n}  
        \draw[shift={(\x,0)}] (0pt,2pt)--(0pt,-2pt) node[below = 2cm] {$\xtext$};
        %\node[below] at (0,0) {$C_0$};
    \end{tikzpicture}
\end{center}

\end{document}

這就是我需要的:

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

答案1

像這樣的事情:

在此輸入影像描述

該程式碼只是\foreach循環的集合,帶有一些跳過“間隙位置”的小技巧。

\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}

  \begin{center}
    \begin{tikzpicture}[scale=0.8]
       \draw[SteelBlue,thick,-LaTeX](1,0)-- ++(11,0);
       \foreach \lab  [count=\c] in {0,1,2,3,X,p-1,p,p+1,X,n-1,n} {
          \if\lab X\relax% jump over gap
             \node at (\c,0){//};
          \else
            \draw[SteelBlue,thick] (\c,0.2) -- ++(0,-0.4);
            \draw[SteelBlue,dashed] (\c,0) -- ++(0,\c/2-6)node[below]{$C_{\lab}$};
          \fi
       }
    \end{tikzpicture}
  \end{center}

  \begin{center}
    \begin{tikzpicture}[scale=0.8]
       \draw[SteelBlue,thick,-LaTeX](1,0)-- ++(11,0);
       \foreach \lab  [count=\c] in {0,1,2,3,X,p-1,p,p+1,X,n-1,n} {
          \if\lab X\relax% jump over gap
             \node at (\c,0){//};
          \else
            \draw[SteelBlue,thick] (\c,0.2) -- ++(0,-0.4);
            \draw[SteelBlue,dashed] (\c,0) -- ++(0,\c/2-6)
                      -- ++(12-\c,0)node[right]{$C_{\lab}$};
          \fi
       }
    \end{tikzpicture}
  \end{center}

  \begin{center}
    \begin{tikzpicture}[scale=0.8]
       \draw[SteelBlue,thick,-LaTeX](1,0)-- ++(11,0);
       \def\dc{0}
       \foreach \lab  [count=\c] in {0,1,2,3,X,p-1,p,p+1,X,n-1,n} {
          \if\lab X\relax% jump over gap
             \node at (\c,0){//};
             % hacky...draw over the C_\labs we don't want
             \draw[white,fill=white](\c-0.5,-0.5) rectangle (\c+0.5,-12);
             % don't leave a line between skipped labels
             \pgfmathparse{\dc+1}
             \xdef\dc{\pgfmathresult}
          \else
            \draw[SteelBlue,thick] (\c,0.2) -- ++(0,-0.4);
            \foreach \cc in {\c,...,11} {
              \node at (\cc, \dc-\c) {$C_{\lab}$};
            }
          \fi
       }
    \end{tikzpicture}
  \end{center}

\end{document}

相關內容