当我使用 tikz.spy 库通过网格放大 pgfplots 图的一部分时,放大区域中同时存在原始网格和放大的网格。屏幕截图:http://files.droplr.com/files/55004911/YHwt.Plots-Spy-Grid.png。
部分代码如下:
\begin{tikzpicture} [spy using outlines={circle, magnification=3, size=2cm, connect spies}]
\begin{axis}[grid=major,axis on top, ... ]
\addplot ...
\begin{scope}[fill=white]
\spy[green!70!black,size=5cm] on (10.9,9.1) in node [right] at (3,6);
\end{scope}
\end{axis}
\end{tikzpicture}
是否可以只在放大区域中显示放大的网格(例如,设置放大区域的不透明度?该fill=white
命令似乎没有效果。我尝试对该opacity
属性进行相同的操作。spy using overlay
也无济于事。另一种方法是只在放大区域中显示网格,但我不知道该怎么做。
有人有解决方案吗?
答案1
您必须fill=white
向“in-node”提供选项:
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{spy,backgrounds}
\begin{document}
\begin{tikzpicture} [spy using outlines={circle, magnification=3, size=2cm, connect spies}]
\begin{axis}[grid=major,axis on top,width=14cm]
\addplot +[mark=none] {0.1*x^2};
\begin{scope}
\spy[green!70!black,size=5cm] on (10.9,8) in node [fill=white] at (6,7);
\end{scope}
\end{axis}
\end{tikzpicture}
\end{document}