TikZ 网格线

TikZ 网格线

我有以下代码:

\draw[step=1.0,black,thin] (0.5,0.5) grid (5.5,4.5);

我希望在 Y 方向生成网格线,y = {0.5, 1.5, 2.5, 3.5, 4.5}在 X 方向生成网格线x = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5}

但是,我在 处得到的网格线y = {1.0, 2.0, 3.0, 4.0}x = {1.0, 2.0, 3.0, 4.0, 5.0}网格边缘周围都有半个单元格。因此,我得到的网格不是封闭的均匀网格,而是具有开放边缘和边界处两个半单元格的网格。

有人知道为什么它不尊重起点和步幅吗?

答案1

这些点指定网格线的起点和终点。下面的棕色网格线是您想要的,但请注意,用 指定的蓝线(0.5,0.5) grid (5.5,4.5)确实从 开始x=0.5y=0.5并到x=5.5结束y=4.5。        

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}

\newcommand*{\xMin}{0}%
\newcommand*{\xMax}{6}%
\newcommand*{\yMin}{0}%
\newcommand*{\yMax}{6}%
\begin{document}
\begin{tikzpicture}
    \foreach \i in {\xMin,...,\xMax} {
        \draw [very thin,gray] (\i,\yMin) -- (\i,\yMax)  node [below] at (\i,\yMin) {$\i$};
    }
    \foreach \i in {\yMin,...,\yMax} {
        \draw [very thin,gray] (\xMin,\i) -- (\xMax,\i) node [left] at (\xMin,\i) {$\i$};
    }

\draw [step=1.0,blue, very thick] (0.5,0.5) grid (5.5,4.5);
\draw [very thick, brown, step=1.0cm,xshift=-0.5cm, yshift=-0.5cm] (0.5,0.5) grid +(5.5,4.5);
\end{tikzpicture}
\end{document}

答案2

您可以使用xshiftyshift选项:

\draw[step=1.0,black,thin,xshift=0.5cm,yshift=0.5cm] (0.5,0.5) grid (5.5,4.5);

相关内容