因此,我想从一个点的给定 x 坐标到另一个点的 x 坐标,每个单位绘制节点,以标记自定义轴。我确实想跳过 0。手动示例如下所示:
\foreach \x in {-1,1,2,...,10}
\draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
但由于我必须经常重复使用此代码,因此我不想总是手动设置范围的起点和终点。我更愿意从两个给定点导航。
基本上是这样的:
\foreach \x in {"x-Coordinate of Point DL",.., skip 0,"x-Coordinate of Point TR"}
\draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
我正在尝试做的一个不那么简单的工作示例是:
\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[cross/.style={draw, cross out,
minimum size=2*(#1-1pt), inner sep=0pt, outer sep=0pt}, x=1cm, y=1cm]
%----------------
%--- Define x/y axis by setting x-min and y-min
\tkzDefPoint(-1,-1){DL} %down left border
\tkzDefPoint(10,10){TR} %top right border
%----------------
%--- Draw the grid
\draw [color=gray!50] [step=5mm] ($(DL)+(-1,-1)$) grid ($(TR)+(1,1)$);
%----------------
%--- Drawing the axis
%--- x-axis
\draw[->,thick] let \p{DL}=(DL), \p{TR}=(TR), in
(-13+\x{DL},0) -- (13+\x{TR},0)
node[right] {$x$};
%--- y-axis
\draw[->,thick] let \p{DL}=(DL), \p{TR}=(TR), in
(0,-13+\y{DL}) -- (0,13+\y{TR})
node[above right] {$y$};
%----------------
%--- Labeling of both axes
\foreach \x in {-1,1,2,...,10}
\draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
\foreach \y in {-1,1,2,...,10}
\draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
\end{tikzpicture}
\end{document}
我确实知道我可以使用 pgfplots 来更轻松地完成我想要实现的目标,但我总是无法获得自定义网格。由于我必须打印这个,学生在上面画草图,所以网格大小非常重要(这就是我现在直接使用 tikz 的原因)。