我遇到了命令问题\clip
。我想做一些类似的事情\spy
,但只在放大的图片上添加一些标签等。由于这并不简单,我想用圆圈剪辑放大的图形,但这对我来说不起作用。
以下是我迄今为止所能获得的 MWE 和图表:
\documentclass[border=5pt,tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\begin{document}
\def\height{10cm}
\def\width{10cm}
\def\sc{0.8}
\def\xmin{2}
\def\xmax{5}
\def\ymin{0}
\def\ymax{20}
\def\enlarge{0.05}
\xdef\Gda{12244}
\xdef\aa{1.87}
\xdef\reqa{2.67}
\def\f{0.001} % scaling factor for values
\begin{tikzpicture}
\begin{axis}[
name=plot1,
height=\height,
width=\width,
scale only axis=true,
scale=\sc,
enlargelimits=\enlarge,
xmin=\xmin,
xmax=\xmax,
ymin=\ymin,
ymax=\ymax,
restrict x to domain=\xmin:\xmax,
restrict y to domain=\ymin:\ymax,
samples=1000,
]
\addplot[
color=black,
smooth,
]
(x,{\f*(\Gda*(1-exp(-\aa*(x-\reqa)))^2)});
\coordinate (spypoint) at (axis cs: \reqa,1);
\clip[draw] (spypoint) circle (0.5cm);
\end{axis}
\end{tikzpicture}
\end{document}
就我本人以及我对 的理解而言\clip
,只应显示圆圈内的图片。这应该是一个“容易”的错误,所以希望有人能帮助我解决这个问题。
** 编辑:**
我刚刚在 PPT 中添加了一个简单的绘图来展示该项目的结果,但是现在的问题是,我无法访问圆的预定义中心。
我也修正了代码,这是目前的结果。
微波辐射计
\documentclass[border=5pt,tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\usetikzlibrary{spy}
\begin{document}
\def\height{10cm}
\def\width{10cm}
\def\sc{0.8}
\def\xmin{2}
\def\xmax{5}
\def\ymin{0}
\def\ymax{20}
\def\enlarge{0.05}
\xdef\Gda{12244}
\xdef\aa{1.87}
\xdef\reqa{2.67}
\def\f{0.001} % scaling factor for values
\begin{tikzpicture}
\clip[draw] (spypoint) circle [radius=4cm]; %<- the predeined point (skypoint) cannot be read, since it is in the axis environment and axis coordinates were used.
\begin{axis}[
name=plot1,
height=\height,
width=\width,
scale only axis=true,
scale=\sc,
enlargelimits=\enlarge,
xmin=\xmin,
xmax=\xmax,
ymin=\ymin,
ymax=\ymax,
restrict x to domain=\xmin:\xmax,
restrict y to domain=\ymin:\ymax,
samples=1000,
xlabel=$\mathrm{r}$,
ylabel=$\mathrm{V(r)}$,
]
\addplot[
color=black,
smooth,
]
(x,{\f*(\Gda*(1-exp(-\aa*(x-\reqa)))^2)});
\pgfplotsextra{%
\global \coordinate (spypoint) at (axis cs:\reqa,1);
}
\end{axis}
% \coordinate (spypoint) at (\reqa,1);
\draw[fill=blue] (spypoint) circle [radius=0.05cm]; %<- here, I labeled the 'correct' center point.
\end{tikzpicture}
\end{document}