如何使 tikz 网格中的点更靠近/删除 tikz 中网格中点之间的空间?

如何使 tikz 网格中的点更靠近/删除 tikz 中网格中点之间的空间?

因此,我有一个由 4x19 个点/小圆圈组成的网格,稍后需要单独着色。它必须适合投影仪演示表,因此这些点必须靠得更近。

这就是我所拥有的:

\begin{tikzpicture}
\foreach \x in {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}
\foreach \y in {0,1,2,3}
{
\draw (\x,\y) circle (0.1cm);
}
\end{tikzpicture}

这是它生成的网格,右侧是投影仪片的截止点

答案1

一种方法是改变 x 和 y 坐标的单位长度:

\documentclass[10pt,a4paper]{article}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[x=0.5cm,y=0.5cm]
    \foreach \x in {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}
    \foreach \y in {0,1,2,3}
    {
        \draw (\x,\y) circle (0.1cm);
    }
    \end{tikzpicture}
\end{document}

答案2

您可以扩展整个tikzpicture环境,但这可能有其他缺点,例如一切被缩放。更好的方法是缩放坐标:

在此处输入图片描述

以下是代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}

Scale the environment:\medskip

  \begin{tikzpicture}[scale=0.5]
    \foreach \x in {0,...,18}
      \foreach \y in {0,...,3} { \draw (\x,\y) circle (0.1cm); }
  \end{tikzpicture}

  \bigskip

  Scale the coordinates:\medskip

  \begin{tikzpicture}
    \foreach \x in {0,...,18}
      \foreach \y in {0,...,3} { \draw (0.5*\x,0.5*\y) circle (0.1cm); }
  \end{tikzpicture}

\end{document}

还请注意,您可以缩写循环的 csv 列表\foreach,如上述情况所示。您还可以使用以下结构循环非整数列表:

\foreach \x in {1,1.5,...,10} {...}

这两种方法都可以在 x 和 y 方向上使用不同的缩放比例。缩放环境时,您还可以使用xscale=...yscale=...缩放坐标时,这一点很明显。

答案3

使用投影机:

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\centering
\begin{tikzpicture}
\foreach \x in {0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9}
\foreach \y in {0,0.5,1,1.5}
{
\draw (\x,\y) circle (0.1cm);
}
\end{tikzpicture}
\end{frame}
\end{document} 

在此处输入图片描述

相关内容