如何在网格上画箭头?

如何在网格上画箭头?

在此处输入图片描述

我对 LaTeX 还不太熟悉,我正在尝试使用 Ti 绘制带箭头的网格Z.目前我只能使用以下方法绘制网格:

\begin{tikzpicture}
\draw[step=1cm, black] (-1.9,-1.9) grid (5.9,5.9);
\end{tikzpicture}

但是,以我目前的技能水平,我无法做更多的事情,我尝试在网上寻找方法,但没有成功。如果能得到任何帮助,我将不胜感激。

此外,我希望能够重现如下的绘图:在此处输入图片描述

图像的总体结构对我来说并不是很重要,我想学习如何像图片中一样添加数字(或字母)以及如何将两个顶点对齐。

答案1

以下是一个相当幼稚的方法。

对于绘制箭头,该arrows.meta模块非常有用,它支持各种箭头类型。要启用它,请在加载后将以下行放入您的序言中tikz

\usetikzlibrary{arrows.meta}

在 中tikzpicture,您可以添加一个范围,这样每次您都可以简单地使用>来引用您想要的箭头。例如,下面我将使用Stealth

\begin{scope}[>=Stealth]
    ...
\end{scope}

然后你可以先画出线条:

\draw (0,0) -- (0, 1);
\draw (0,0) -- (0,-1);
\draw (0,0) -- ( 1,0);
\draw (0,0) -- (-1,0);

在此处输入图片描述

可以像这样绘制箭头

\draw[->] (0,0) -- (0.6,0);

在此处输入图片描述

此处箭头位于(从到(0.6,0)的线与您在上一步中绘制的线重合)。以同样的方式,您可以绘制反方向的箭头:(0,0)(0.6,0)

\draw[>-] ( 0.6,0) -- (0,0);

在此处输入图片描述

以下是图片中“c 型”箭头的完整代码:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}

\begin{tikzpicture}
    \begin{scope}[>=Stealth]
        \draw (0,0) -- (0, 1);
        \draw (0,0) -- (0,-1);
        \draw (0,0) -- ( 1,0);
        \draw (0,0) -- (-1,0);
        \draw[->] (0,0) -- (0, 0.6);
        \draw[->] (0,0) -- (0,-0.6);
        \draw[>-] ( 0.6,0) -- (0,0);
        \draw[>-] (-0.6,0) -- (0,0);
    \end{scope}
\end{tikzpicture}

\end{document}

在此处输入图片描述

对于带有箭头的网格,由于箭头的分布看起来不太规则,您可能需要重复上述步骤来绘制箭头——这并不难。

但这只是一个开始,即使使用最少量的 TiZ 知识。我并不为我的 Ti 感到骄傲Z 技能,可能有一些巧妙的方法可以用非常简单的命令生成这样的图表——我应该把它留给专家:)


关于标签,这很简单,您可以使用\node

\begin{tikzpicture}
    \draw (0,0) -- (0, 1);
    \draw (0,0) -- (0,-1);
    \draw (0,0) -- ( 1,0);
    \draw (0,0) -- (-1,0);
    \node at (0.2, 0.6) {$1$};
    \node at (0.2,-0.6) {$2$};
    \node at ( 0.6,0.2) {$2$};
    \node at (-0.6,0.2) {$1$};
\end{tikzpicture}

在此处输入图片描述

相关内容