tikzpicture 中的 2 个 pgfplots 重叠

tikzpicture 中的 2 个 pgfplots 重叠

在我之前做过的一项工作中,我画了一张图,其中有两个并排的 png 图像,旁边有一个小标签,如 (a) 和 (b),如下所示:

\begin{figure}[htbp]
    \centering
    %\fontsize{14pt}{11pt}
    \begin{tikzpicture}
    
    \node[](a) at (0,0) {\includegraphics[width=0.45\textwidth]{graphics/image1.png}};
    \node[below right] at (a.north west){\normalsize (a)};
    
    \node[right](b) at (a.east) {\includegraphics[width=0.45\textwidth]{graphics/image2.png}};
    \node[below right] at (b.north west){\normalsize (b)};
   
    \end{tikzpicture}
    \caption{Caption}
    \label{fig:my_fig}
\end{figure}

现在,我想用 pgfplots 做同样的事情,并尝试了这个

\begin{figure}
    \centering
    \begin{tikzpicture}
        \node[](a) at (0,0) {\resizebox{0.45\textwidth}{!}{\import{graphics/}{figure1.pgf}}};
        \node[below right] at (a.north west){\normalsize (a)};
        
        \node[](b) at (a.east) {\resizebox{0.45\textwidth}{!}{\import{graphics/}{figure2.pgf}}};
        \node[below right] at (b.north west){\normalsize (b)};
    \end{tikzpicture}
    \caption{Caption}
    \label{fig:my_label}
\end{figure}

但不幸的是,两张图片重叠了。我该如何解决这个问题?

png 图像看起来如下:

在此处输入图片描述

这是 pgfplots。你可以看到它们是重叠的。

在此处输入图片描述

答案1

我没有办法测试这个,但这是将 tikzpicture 放入 tikzpicture 中的一种方法。

\begin{figure}
    \sbox0{\import{graphics/}{figure1.pgf}}%
    \sbox1{\import{graphics/}{figure2.pgf}}%
    \centering
    \begin{tikzpicture}
        \node[](a) at (0,0) {\resizebox{0.45\textwidth}{!}{\usebox0}};
        \node[below right] at (a.north west){\normalsize (a)};
        
        \node[right](b) at (a.east) {\resizebox{0.45\textwidth}{!}{\usebox1}};
        \node[below right] at (b.north west){\normalsize (b)};
    \end{tikzpicture}
    \caption{Caption}
    \label{fig:my_label}
\end{figure}

tikzscale 包为 提供了一个 pgf 驱动程序\includegraphics。如果没有文件 figure1 和 figure2,我仍然无法测试它。可能不需要保存框,因为 pgf 驱动程序无疑会使用它们。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikzscale}
\textwidth=6in

\begin{document}
    \sbox0{\includegraphics[width=0.45\textwidth]{graphics/figure1.pgf}}%
    \sbox1{\includegraphics[width=0.45\textwidth]{graphics/figure2.pgf}}%
    \begin{tikzpicture}
        \node[](a) at (0,0) {\usebox0};
        \node[below right] at (a.north west){\normalsize (a)};
        
        \node[right](b) at (a.east) {\usebox1};
        \node[below right] at (b.north west){\normalsize (b)};
    \end{tikzpicture}
\end{document}

相关内容