使用 tikz 绘制坐标系并改变偏移、间距等

使用 tikz 绘制坐标系并改变偏移、间距等

我正在尝试使用 tikz 在图片上绘制坐标系。我正尝试重新创建附图中的坐标系作为测试,但遇到了一些问题

  1. 我如何改变坐标系的偏移量以使其位于图形的西南角?
  2. 我如何改变 x 轴和 y 轴的间距,以便它们按照我决定的步骤从最小值运行到最大值?

到目前为止,我的代码如下。这将绘制坐标系,但现在我必须将其移动到角落并更改间距和最大/最小值:

\documentclass[border=30pt]{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}

\begin{document}  

\begin{tikzpicture}
\node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\textwidth]{test.jpg}};

       \tkzInit[xmax=8,ymax=1,xmin=0,ymin=0]
       \tkzAxeXY
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

这应该更具可读性和可工作性:

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.13}

\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,xmax=7,ymin=0,ymax=7,
             xtick={0,1.333,...,7},
             ytick={0,1,...,7},
             view={0}{90}]
\addplot3[surf,shader=interp]
coordinates {
      (0,0,0) (7,0,0)

      (0,7,1) (7,7,1)
};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

您可以按照所指示的链接方式在图像上进行绘制。几个循环可以节省输入时间,但仅此而已。

\documentclass[border=10pt,multi,tikz]{standalone}
\begin{document}
\begin{tikzpicture}
  \node [inner sep=0pt] (c) {\includegraphics[scale=3]{changeable}};
  \begin{scope}[shift=(c.south west), x=(c.south east), y=(c.north west)]
    \coordinate (x0) at (1,0);
    \path (0,0) \foreach \i in {1,...,8} { ++({1/8.1},0) node (x\i) [below, font=\scriptsize] {\i 0} edge [thin] +(0,2.5pt)};
    \path (0,1) coordinate (y0) \foreach \i in {1,...,8} { ++(0,-{1/8.1}) node (y\i) [left, font=\scriptsize] {\i 0} edge [thin] +(2.5pt,0)};
    \foreach \i in {1,...,8} \draw [thin] (y0 -| x\i) edge [gray!50, thin] +(0,-2.5pt) (x0 |- y\i) -- +(-2.5pt,0);
  \end{scope}
\end{tikzpicture}
\end{document}

带有循环刻度标记的假阴影

相关内容