箭头代码不起作用

箭头代码不起作用

我无法找到在绘图上放置带箭头的标签的代码,似乎也找不到手册。我只想将标签“文本”放置在一个点上,箭头从右侧指向其他点。我当前的代码如下(不太好用)。

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}
    \addplot graphics[xmin=0,xmax=5,ymin=0,ymax=5,] {Images/test}
    node at (30pt,30pt) {text} [->] (50pt,50pt);
    \end{axis}
\end{tikzpicture}
\end{document}

另外,请不要更改node at\node。我的实际代码在表单中有很多标签node at,我不想全部重写它们。

答案1

你不能简单地说[->]画箭头。你需要以某种方式创建路径...你可以说

node (a) at (30pt,30pt) {text};
\draw[->] (a) -- (50pt,50pt);

\draw命令创建路径的位置。或者,更简单的是,使用edge操作

node at (30pt,30pt) edge[->] (50pt,50pt);

edge操作暂停当前路径构建并创建一条新路径,这样,新edge路径可以与实际构建的路径完全不同。

平均能量损失

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}
    \addplot graphics[xmin=0,xmax=5,ymin=0,ymax=5,] {example-image}
    node at (30pt,30pt) {text} edge[->] (50pt,50pt);
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述


编辑:

OP 希望edgenorth west节点的锚点获得信息。一种方法是明确地说明这一点,方法是命名节点:

node (a) at (30pt,30pt) {text} (a.north east) edge[->] (50pt,50pt);

但是,由于 OP 想要一种不需要命名节点的方法,因此可以使用另一种逻辑。我们可以反转逻辑,而不是创建node并放置一个以将其连接到某个东西:创建一个连接两个坐标的并将一个放置在 的开始处。edgeedgenodeedge

(30pt,30pt) edge[->] node[at start,anchor=north west]{text} (50pt,50pt);

相关内容