我正在尝试在 Tikz 中使用间谍玻璃,但出于某种原因,我的缩放区域始终为空,并且(某些)图表在使用间谍时往往会消失。我已通过 MikTeX 的更新程序更新了所有软件包等,但这并没有解决任何问题。我使用的代码:
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{spy}
\begin{document}
\begin{tikzpicture}
[spy using outlines={rectangle, magnification=3,connect spies}]
\begin{axis}[grid=major,no markers,domain=-5:5,enlargelimits=false]
\addplot[solid,mark=asterisk,mark options={solid},color=blue] {x^2};
\addplot[solid,mark=asterisk,mark options={solid},color=red] {x^3};
\addplot[only marks,mark=star,mark size=2pt,color=black] coordinates{(0,0)};
\coordinate (spypoint) at (axis cs:0,0);
\coordinate (spyviewer) at (axis cs:0.5,-90);
\end{axis}
\spy[width=6cm,height=1cm] on (spypoint) in node [fill=white] at (spyviewer);
\end{tikzpicture}
\begin{tikzpicture}
%[spy using outlines={rectangle, magnification=3,connect spies}]
\begin{axis}[grid=major,no markers,domain=-5:5,enlargelimits=false]
\addplot[solid,mark=asterisk,mark options={solid},color=blue] {x^2};
\addplot[solid,mark=asterisk,mark options={solid},color=red] {x^3};
\addplot[only marks,mark=star,mark size=2pt,color=black] coordinates{(0,0)};
%\coordinate (spypoint) at (axis cs:0,0);
%\coordinate (spyviewer) at (axis cs:0.5,-90);
\end{axis}
%\spy[width=6cm,height=1cm] on (spypoint) in node [fill=white] at (spyviewer);
\end{tikzpicture}
\end{document}
由于我是新手,因此不允许在此处上传图片,但使用间谍镜时,红色和蓝色图表会消失,而黑点会保留下来。间谍镜的区域是正确的,但黑点不会出现在缩放区域中,它完全是空的。不使用间谍镜时,图表看起来非常好……
答案1
好的,这些信息足以让我们了解到底发生了什么。间谍库中有一个错误,导致它无法使用 dvips 或 xelatex。这个问题已经报告,并且显然已经修复这里,但我认为从那时起实际上并没有发布过 pgf/tikz,至少没有在 sourceforge 上出现过,所以更新 tex 安装不会有帮助。
您可以尝试将此库的最新版本添加到您的 pgf 安装中(源代码在这里)。 然而我尝试这样做,但效果并不理想,尽管它的表现与错误行为不同(顺便说一句,我可以复制)——间谍部分有效,但情节部分无效。可能我做错了什么,而且我没有非常努力。但您可能需要安装整个软件包的开发版本来修复此错误,而不是仅更新这一个文件。或者.ps
像您说的那样放弃 :)。