我无法找到在绘图上放置带箭头的标签的代码,似乎也找不到手册。我只想将标签“文本”放置在一个点上,箭头从右侧指向其他点。我当前的代码如下(不太好用)。
\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 希望edge
从north west
节点的锚点获得信息。一种方法是明确地说明这一点,方法是命名节点:
node (a) at (30pt,30pt) {text} (a.north east) edge[->] (50pt,50pt);
但是,由于 OP 想要一种不需要命名节点的方法,因此可以使用另一种逻辑。我们可以反转逻辑,而不是创建node
并放置一个以将其连接到某个东西:创建一个连接两个坐标的并将一个放置在 的开始处。edge
edge
node
edge
(30pt,30pt) edge[->] node[at start,anchor=north west]{text} (50pt,50pt);