異なる代替距離で目盛りラベルが付いた線形軸を描画するにはどうすればよいですか?

異なる代替距離で目盛りラベルが付いた線形軸を描画するにはどうすればよいですか?

軸の下に目盛りラベルが階段のように徐々に異なる距離で並んでいる線形軸を描くのに助けが必要です。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}

関連情報