首页 > 解决方案 > 绘图数线

问题描述

我正在尝试绘制数字线,但我添加的变量越多,数字消失的越多,有些甚至完全消失。下面是我使用的代码,结果如下图所示。谁能在这段代码中看到问题?谢谢。

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[thick,time/.style={minimum height=5mm,minimum width=6mm,fill=#1,text=black}]
\def\0{0}
\def\1{1}
\def\2{2}
\def\3{3}
\def\4{4}
\def\5{5}
\def\6{6}
\def\7{7}
\def\8{8}
\def\9{9}
\def\n{10}
\draw[black,-latex] (0,0)--(11,0);
\draw[black] (0,.2)--(0,-.2)
(\0,.2) node[above=2mm,time=white]{$ 2X$}
(\0,-.2) node[below=2mm,time=white]{$0$}
(\1,.2) node[above=2mm,time=white] (x) {$ $}--
(\1,-.2) node[below=2mm,time=white]{$ 1$}
(\2,.2) node[above=2mm,time=white] (x) {$ $}--
(\2,-.2) node[below=2mm,time=white]{$2 $}
(\3,.2) node[above=2mm,time=white] (x) {$ $}--
(\3,-.2) node[below=2mm,time=white]{$ 3 $}
(\4,.2) node[above=2mm,time=white] (x) {$ $}--
(\4,-.2) node[below=2mm,time=white]{$4 $}
(\5,.2) node[above=2mm,time=white] (x) {$ $}--
(\5,-.2) node[below=2mm,time=white]{$5 $}
(\6,.2) node[above=2mm,time=white] (x) {$ $}--
(\6,-.2) node[below=2mm,time=white]{$6 $}
(\7,.2) node[above=2mm,time=white] (x) { $ $}--
(\7,-.2) node[below=2mm,time=white]{$7 $}
(\8,.2) node[above=2mm,time=white] (x) {$ $}--
(\8,-.2) node[below=2mm,time=white]{$8 $}
(\9,.2) node[above=2mm,time=white] (x) {$2X(1-\frac{0.12}{12})^{-4\times12}(1+\frac{0.10}{2})^{5\times2} $}--
(\9,-.2) node[below=2mm,time=white]{$9 $}
(\n,.2) node[above=2mm,time=white] (x) {$ $}--
(\n,-.2) node[below=2mm,time=white]{$10 $};
\draw[->] (0.2,0.7)--(3.98,0.7);
\draw[->] (4.1,0.7)--(6.5,0.7);
\end{tikzpicture}   
\end{document}

在此处输入图像描述

标签: latextikz

解决方案


使用 foreach 保存代码:

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
    \begin{tikzpicture}[thick,
        time/.style={minimum height=5mm,minimum width=6mm,fill=#1,text=black},
        %every node/.style={draw},
        ]
        \draw[black,-latex] (0,0)--(11,0);
        \def\dx{1}
        \foreach \i in {0,...,10} {
            \ifnum\i>0
                \def\ann{$ $}
            \else
                 \def\ann{$ 2X$}
            \fi
             \draw[] (\i*\dx,.2) -- (\i*\dx,-.2)
                 node[pos=0,above=2mm,time=white] (P\i) {\ann}
                 node[pos=1,below=2mm,time=white] (Q\i) {$\i$};
        }
        \node[time=white] at (P9) (x) {$2X(1-\frac{0.12}{12})^{-4\times12}(1+\frac{0.10}{2})^{5\times2} $};
        \draw[-latex] (P0)--(P4.center);
        \draw[-latex] ([xshift=1mm]P4.center)--(P6.east);
    \end{tikzpicture}   
\end{document}

在此处输入图像描述


推荐阅读