我想放大一个函数图,但在放大的区域我想画一个不同的图。例如,我编辑了一张取自 TeX Stack Exchange 上另一个讨论的图片
我研究过间谍库,但文档中没有提到这种特殊用途。
编辑:一个最小的工作示例是
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates
{(0,0) (3,4)};
\end{axis}
\end{tikzpicture}
\end{document}
作为基础图,而放大镜则需要显示,例如由
\begin{tikzpicture}
\begin{axis}
\addplot[smooth] coordinates
{(0,0) (1,0.25) (1.5, 0.5) (2,1)};
\end{axis}
\end{tikzpicture}
答案1
由于您实际上并不是在进行间谍活动,因此请将次要情节框起来,并使用\node
s 和\coordinate
s 来放置间谍元素:
代码:
\documentclass{article}
\usepackage{pgfplots}
\newsavebox\plotbox
\begin{lrbox}{\plotbox}
\begin{tikzpicture}
\begin{axis}[
axis lines=none,
width=3cm,
height=3cm
]
\addplot[smooth,blue] coordinates
{(0,0) (1,0.25) (1.5, 0.5) (2,1)};
\end{axis}
\end{tikzpicture}%
\end{lrbox}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid=major
]
\addplot coordinates
{(0,0) (3,4)};
\coordinate (spyanchor) at (axis cs:2,2.66666);
\node[circle,draw,inner sep=0pt,green,fill=white] at (axis cs:1,3)
(spyplot)
{\usebox\plotbox};
\node[green,circle,draw,inner sep=5pt]
at (spyanchor)
(spynode)
{};
\draw[green]
(spyplot) -- (spynode);
\end{axis}
\end{tikzpicture}
\end{document}