Tikz:节点内的图的定位?

Tikz:节点内的图的定位?

我想在节点内使用 \begin{axis} 和 \addplot,如下所示:

\begin{tikzpicture}[xscale=0.5,yscale=0.5]
\pgfmathdeclarefunction{gauss}{2}{
  \pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}
}
\node [rectangle, draw] (a) at (0,0) {
\begin{axis}[height=3cm,width=5cm]
\addplot {gauss(0,0.5)};
\end{axis}
};

\node [rectangle, draw] (b) at (5,-2) {Test};

\draw [<->] (a) -- (b);
\end{tikzpicture} 

不幸的是,矩形没有包围图。如何解决这个问题?

在节点中包含图的正确方法是什么?

多谢!

答案1

这更多的是为了让你熟悉格式。如果你想回复评论,那么你需要向你想要回复的用户发邮件。所以在你上面的评论中你应该添加@TorbjørnT。你也应该编辑你的问题,而不是在评论中添加代码片段。无论如何,下面的方法有效。你的方法在高斯定义中存在虚假空间,而且declare function可以说无论如何都更容易处理(但你可以删除空格)。

\documentclass[border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}[declare
function={gauss(\x,\y,\z)=1/(\z*sqrt(2*pi))*exp(-((\x-\y)^2)/(2*\z^2));}]
\begin{axis}[name=a,width=4cm] 
\addplot[domain=-3:3] {gauss(x,0,0.5)}; 
\end{axis} 
\node [rectangle,draw,name=b] at (5,-3) {XYZ}; 
\begin{axis}[name=c,width=4cm,xshift=7cm] 
\addplot[domain=-3:3] {gauss(x,3,1)}; 
\end{axis} 
\draw [<->] (a) -- (b); 
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容