latex - 绘图数线
问题描述
我正在尝试绘制数字线,但我添加的变量越多,数字消失的越多,有些甚至完全消失。下面是我使用的代码,结果如下图所示。谁能在这段代码中看到问题?谢谢。
\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}
解决方案
使用 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}
推荐阅读
- javascript - 将 Laravel Paginator 与 Ajax 请求一起使用
- linkedin-api - Angular 2中的Linkedin成员资料
- sql - 如何从 BigQuery 中的字符串中仅删除字母?
- python - 使用字符串键创建数据框字典
- sql - SSRS 过滤 Tablix 列
- excel - 我希望从 Powershell 更改 Excel 中的数据。
- adfs - 在 AD 中禁用时注销用户
- debugging - 清除 IE11 开发者工具中的“网络”选项卡
- php - 使用缓存使用 XMLReader PHP 解析 xml 文件
- javascript - 如何在 PageLoad 上获取 HiddenField 值(后面的代码)