pgfplots 轴环境中的 tikz 网格

pgfplots 轴环境中的 tikz 网格

我想grid在轴环境中使用,但它不能按预期工作:

\documentclass[class=minimal,border=10pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis equal, xmin=-1, xmax=10, ymin=-1, ymax=10,]
\draw[step=10mm] (0,0) grid (9,9);
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

为什么这不显示 10x10 的网格?

答案1

删除axis equal并明确设置xy单位:

\documentclass[class=minimal,border=10pt]{standalone}
\usepackage{pgfplots}% loads tikz
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-1, xmax=10, ymin=-1, ymax=10,x=10mm,y=10mm]
\draw[step=10mm] (-.001,-.001) grid (9,9);
\end{axis}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

或者您可以使用\pgfplotsinvokeforeach绘制网格线:

\documentclass[class=minimal,border=10pt]{standalone}
\usepackage{pgfplots}% loads tikz
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis equal, xmin=-1, xmax=10, ymin=-1, ymax=10]
\pgfplotsinvokeforeach{0,...,9}{\draw(#1,0)--(#1,9)(0,#1)--(9,#1);}
\end{axis}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

相关内容