仅绘制网格中的点(Tikz)

仅绘制网格中的点(Tikz)

我只想绘制网格上的点。我知道我只需要绑定向量(点)的参数并将其与 if 语句结合起来。但似乎没有什么用,我总是得到我无法理解的编译器错误。我尝试了类似

\ifnum 点[0] < 5 ... \fi

这也无济于事。这当然是我心中对 if 语句的不完整描述,但即使这样也行不通,可能是因为语法问题

在此处输入图片描述

答案1

除非您使用一些非常大的点,否则我只会使用夹子。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[>=Latex]
\coordinate (Bone) at (1, 2);
\coordinate (Btwo) at (1,-1);
\draw[help lines] (-4.9, -4.9) grid (4.9, 4.9);
\path[->, very thick, gray] (left:5) edge (right:5) (down:5) edge (up:5);

\begin{scope}
\clip (-4.5, -4.5) rectangle (4.5, 4.5);
\tikzset{x=(Bone), y=(Btwo)}
\foreach \i in {-2, ..., 2}
  \foreach \j in {-3, ..., 3}
    \filldraw (\i, \j) circle[radius=3pt];
\draw[dashed, red, fill=gray, fill opacity=.5]
  (1,0) -- (0,0) -- (0,1) -- (1,1) -- cycle; % or with the named coordinates
\end{scope}
\draw[<->, ultra thick, red] (Btwo) node[below right] {$b_2$}
                 -- (0,0) -- (Bone) node[above  left] {$b_1$};
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容