Wie zeichnet man eine lineare Achse mit Teilstrichbeschriftungen in unterschiedlichen alternativen Abständen?

Wie zeichnet man eine lineare Achse mit Teilstrichbeschriftungen in unterschiedlichen alternativen Abständen?

Ich brauche Hilfe beim Zeichnen einer linearen Achse, die unterhalb der Achse Markierungsbeschriftungen in unterschiedlichem Abstand voneinander hat, wie eine Treppe. Ich versuche, dies mit dem Tikz-Paket zu zeichnen, aber ich weiß nicht, wie ich das machen soll. Wie kann ich das machen? Ich füge einige Bilder von dem bei, was ich brauche, und den Code, der geschrieben wurde, mit dem ich erreichen kann, dass die Markierungsbeschriftungen alle in unterschiedlichem Abstand von der Achse, aber alle auf derselben Ebene angeordnet sind. Dieses Diagramm ist keine Zeitleiste. Danke.

Das konnte ich mit diesem Code erreichen:

Bildbeschreibung hier eingeben

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

Das ist das, was ich benötige:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Antwort1

Etwas wie das:

Bildbeschreibung hier eingeben

Der Code ist lediglich eine Sammlung von \foreachSchleifen mit einem kleinen Trick, um die „Lückenpositionen“ zu überspringen.

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

verwandte Informationen