我想在现有图表上绘制另一张图表,以利用未使用的区域。使用负片baseline
和 ,我已接近我想要的效果hskip
。不幸的是,后者弄乱了水平对齐,也许可以使用框来修复?此外,控制最终位置是通过目测完成的。
无论如何,有没有更优雅的方式来做我想要的事情?我已经在 Google 上进行了广泛的搜索,但似乎之前从未讨论过情节叠加。
\documentclass[a4paper]{article}
\usepackage{pgfplots}\pgfplotsset{compat=newest}
\usepackage[show frame]{geometry} % show text edges
\begin{document}
\begin{figure}[t!]\centering
\begin{tikzpicture}\begin{axis}
\addplot+ [domain=0:360, samples=101, mark=none] {sin(x)};
\end{axis}\end{tikzpicture}
\end{figure}
\begin{figure}[t!]\centering
\begin{tikzpicture}\begin{axis}
\addplot+ [domain=0:360, samples=101, mark=none] {sin(x)};
\end{axis}\end{tikzpicture}\hskip -7cm
\begin{tikzpicture}[baseline=-1cm]\begin{axis}[width=120pt]
\addplot+ [domain=0:360, samples=101, mark=none] {sin(2*x)/2};
\end{axis}\end{tikzpicture}
\end{figure}
\hfill % so the figures move up
\end{document}
答案1
如果你想让某个东西相对于其他东西放置,那么保持相同的位置会容易得多tikzpicture
。以下是第二个图放置在第一个图的特定坐标处的示例:
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+ [domain=0:360, samples=101, mark=none] {sin(x)};
\coordinate (subplot) at (20,-0.9);
\end{axis}
\begin{axis}[width=120pt, at=(subplot), tick label style={font=\small}]
\addplot+ [domain=0:360, samples=101, mark=none] {sin(2*x)/2};
\end{axis}
\end{tikzpicture}
\end{document}
您也可以将第二个图放置在 TikZ 图片中的某个坐标处或相对于第一个图的角落。