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:
\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:
Antwort1
Etwas wie das:
Der Code ist lediglich eine Sammlung von \foreach
Schleifen 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}