在 tikz 图片中的数字上方写入变量

在 tikz 图片中的数字上方写入变量

在此处输入图片描述

非常抱歉,关于垂直上传或比例尺的捕捉,请您考虑将图片视为水平,我需要绘制这个,我可以从这里学到以下内容:但我需要在当前情况下重新绘制它:将不胜感激您的帮助。在 1 和 k 之间,点点就可以了,而不是我为 P 或 t 绘制的小线段。

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
 \pgfmathtruncatemacro{\L}{10} %<- length of the line
 \pgfmathtruncatemacro{\kmax}{6} 
 \pgfmathtruncatemacro{\tmax}{7}
 \draw (0,0) -- (\L,0);
 \foreach \k in {0,...,\kmax}
  {\draw (\L*\k/\kmax,0.2) -- (\L*\k/\kmax,-0.2) \ifnum\k<2 node[below,text
  height=1.5ex]{$\k$}\fi
  \ifnum\k=\numexpr\kmax-1 node[below,text
  height=1.5ex]{$k$}\fi
  \ifnum\k=\kmax node[below,text
  height=1.5ex]{$k+1$}\fi;
  \ifnum\k<\kmax
  \foreach \t in {1,2,...,\tmax}
  {\draw ({\L*\k/\kmax+\L*(\t/(\tmax+1))/\kmax},-0.1) 
  -- ({\L*\k/\kmax+\L*(\t/(\tmax+1))/\kmax},0.1)
  node[above] {$\ifnum\t=\tmax
  t\else\ifnum\t<4
  \t\else .\fi\fi$} ;}
  \fi}
\end{tikzpicture}
\end{document} 

我今天还学到了这些:

\begin{tikzpicture}[xscale=8]
\draw[-][draw=red, very thick] (0,0) -- (.5,0);
\draw[-][draw=green, very thick] (.5,0) -- (1,0);
\draw [thick] (0,-.1) node[below]{0} -- (0,0.1);
\draw [thick] (0.5,-.1) node[below]{$a=b=1/2$} -- (0.5,0.1);
\draw [thick] (1,-.1) node[below]{1} -- (1,0.1);
\end{tikzpicture}


\draw[-][draw=red, very thick] (0,0) -- (.5,0);
\draw[-][draw=green, very thick] (.5,0) -- (1,0);
\draw [thick] (0,-.1) node[below]{0} -- (0,0.1);
0
\draw [thick] (0.5,-.1) node[below]{$a=b=1/2$} -- (0.5,0.1);
0 a = b = 1/2
\draw [thick] (1,-.1) node[below]{1} -- (1,0.1);

答案1

您不需要如此复杂的代码。

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=0.8cm]
\draw[-latex] (0,0) -- (21,0);
\foreach \i [count=\j] in {0,5,10}
    \draw (\i,0) -- (\i,-.2) node[below,align=center] {\j\\$P_{\j}$};
\draw (12,0) -- (12,-.2) node[below,align=center] {$k$\\$P_k$};
\draw (17,0) -- (17,-.2) node[below,align=center] {$k+1$\\$P_{k+1}$};
\foreach \i [count=\j from 0] in {1,6} {
    \draw (\i,0) -- (\i,.2) node[above,align=center] {$a_{\j}$\\1};
    \draw (\i+1,0) -- (\i+1,.2) node[above,align=center] {$a_{\j}$\\2};
    \path (\i+2,.2) node[above] {$\ldots$};
    \draw (\i+3,0) -- (\i+3,.2) node[above,align=center] {$a_{\j}$\\$t$};
}
\draw (13,0) -- (13,.2) node[above,align=center] {$a_{k}$\\1};
\draw (14,0) -- (14,.2) node[above,align=center] {$a_{k}$\\2};
\path (15,.2) node[above] {$\ldots$};
\draw (16,0) -- (16,.2) node[above,align=center] {$a_{k}$\\$t$};
\draw (18,0) -- (18,.2) node[above,align=center] {$a_{k+1}$\\1};
\draw (19,0) -- (19,.2) node[above,align=center] {$a_{k+1}$\\2};
\path (20,.2) node[above] {$\ldots$};
\path (11,-.2) node[below] {$\ldots$};
\path (11,.2) node[above] {$\ldots$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

(在新标签页中打开图片以获得更好的分辨率)

答案2

像这样的事情??

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{stackengine}
\renewcommand\stacktype{L}
\stackMath
\begin{document}
\begin{tikzpicture}
 \pgfmathtruncatemacro{\L}{20} %<- length of the line
 \pgfmathtruncatemacro{\kmax}{6} 
 \pgfmathtruncatemacro{\tmax}{7}
 \draw (0,0) -- (\L,0);
 \foreach \k in {0,...,\kmax}
  {\draw (\L*\k/\kmax,0.2) -- (\L*\k/\kmax,-0.2) \ifnum\k<2 node[below,text
  height=1.5ex]{$\k$}\fi
  \ifnum\k=\numexpr\kmax-1 node[below,text
  height=1.5ex]{$k$}\fi
  \ifnum\k=\kmax node[below,text
  height=1.5ex]{$k+1$}\fi;
  \ifnum\k<\kmax
  \foreach \t in {1,2,...,\tmax}
  {\draw ({\L*\k/\kmax+\L*(\t/(\tmax+1))/\kmax},-0.1) 
  -- ({\L*\k/\kmax+\L*(\t/(\tmax+1))/\kmax},0.1)
  node[above] {$\ifnum\t=\tmax
  \ifnum\k=5\relax\def\q{k}\else\def\q{\k}\fi
  \stackon{t}{a_\q^t}\else\ifnum\t<4
  \ifnum\k=5\relax\def\q{k}\else\def\q{\k}\fi
  \stackon{\t}{a_\q^\t}\else .\fi\fi$} ;}
  \fi}
\end{tikzpicture}
\end{document} 

在此处输入图片描述

放大

在此处输入图片描述

相关内容