我想在图中放置相对于图例的自定义格式节点。答案是相对于图例放置节点本身就是一个解决方案,但与 op 的实际意图有关,因此对我没有帮助。这不是我想要的,如下图所示:人们可能希望将节点放置在图例下方。在这种情况下,在我看来,它应该与两个节点的右边框对齐。如果将图例或节点放置在其他地方,显然对齐可以沿着两个元素的顶部边框……等等。
到目前为止,我开始尝试一些尝试和错误来实现这一点,但目前还不令人满意。此外,如果有一个好的锚定节点的方法,速度应该会快得多。
请忽略图形和节点的重叠。
图片
平均能量损失
\documentclass[
a4paper
]{scrartcl}
\usepackage{
amsmath,
tikz,
pgfplots,
}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{center}
\begin{tikzpicture}[font=\small]
\begin{axis}[
xlabel={Bla},
ylabel={Process},
%
legend style={label=below:bla},
]
\addplot+ {rand};
\addlegendentry{Stuff}
%
\node[fill=white, draw, align=center, font=\scriptsize, anchor=north east] at (axis cs:5.5,0.5) {Word: Text}; %<----- What I would actually like to use!
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
答案1
(我不完全确定这是否是你想要的。)
通过添加name=leg
到legend style
,图例框将获得(节点)名称leg
。如果将节点放在 之外,则可以添加相对于此的节点axis
。例如:
\documentclass[
a4paper
]{scrartcl}
\usepackage{
amsmath,
tikz,
pgfplots,
}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{center}
\begin{tikzpicture}[font=\small]
\begin{axis}[
xlabel={Bla},
ylabel={Process},
%
legend style={name=leg},
]
\addplot+ {rand};
\addlegendentry{Stuff}
%
\end{axis}
\node[fill=white, draw, align=center, font=\scriptsize, below=1mm, anchor=north east] (1) at (leg.south east) {Word: Text};
\node[fill=white, draw, align=center, font=\scriptsize, below=1mm, anchor=north east] at (1.south east) {Word: Longer Text};
\end{tikzpicture}
\end{center}
\end{document}