有了这张照片,
我试过
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\draw[->] (-5,0) -- (10,0) node[right] {$x$};
\foreach \x/\y in {-5,-4,...,10}
\draw[xshift=\x cm] (0pt,1.2pt) -- (0pt,-1.2pt) node[below,fill=white]
{ $\y$};
\end{scope}
\end{tikzpicture}
\end{document}
我不知道如何画这幅画。
我该如何画?有没有一种通用的方法来表示分数,例如 3/20,4/9?
答案1
像这样:
代码:
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[line join=round,scale=4]
\newcommand*{\ar}{1/6}
\draw[very thick,black,-latex] (-1.2,0) -- (1.6,0) node[right] {$x$};
\foreach \x in {-7,-6,...,9}
\draw (\ar*\x,1pt) -- (\ar*\x,-1pt);
\foreach \x/\y in {-5*\ar/{-$\frac56$},-2*\ar/{-$\frac13$},0/{0},1/{1},7*\ar/{$\frac76$}}
\node at (\x,-3pt) () {\y};
\end{tikzpicture}
\end{document}
答案2
- 正如我在评论中所说,你所说的“一般方法”是什么意思并不清楚……你需要明确写出所有想要的分数,或者构建复杂的算法来计算分数。
- 如果您的刻度刻度标签稀疏,最简单的方法是将它们写在 selectec 刻度上,类似于 @Raffaele Santoro 答案 (+1) 中的做法。例如,如问题中的第二幅图所示,您可以通过以下 (简约) 方式获得所需结果:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
%\newcommand*{\ar}{1/6}
\draw[thick,->] (-6,0) -- (10,0) node[right] {$x$};
\foreach \x in {-5,...,9}
\draw (\x,2pt) -- ++ (0,-4pt);
\foreach \x/\y in {-5/-\frac{5}{6},-2/-\frac{1}{3},0/0,1/1,2/\frac{7}{6}}
\node at (\x,-12pt) {$\y$};
\end{tikzpicture}
\end{document}