在 beamer 框架中使用 pgf 图

在 beamer 框架中使用 pgf 图

我想在投影仪框架中显示一个情节。我尝试这样做

\documentclass[]{beamer}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{frame}{Comparison to template fitting}
    \begin{tikzpicture}
        \begin{axis}[]
            \addplot table [] {
            0.22 0.56
            0.43 0.54
            0.65 0.53
            0.86 0.55
            1.08 0.48
            1.3  0.34
            1.52 0.17
            1.73 0.23
            1.95 0.16
            2.17 0.17
            2.38 0.23
            2.6  0.26
            };
        \end{axis}
    \end{tikzpicture}
\end{frame}
\end{document}

但这引发了错误

! Package pgfplots Error: Could not read table file '" 0.22 0.56 0.43 0.54 0.65

如果我将文档类更改为文章并删除框架,则不会出现任何问题

\documentclass[]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}

%\begin{frame}{Comparison to template fitting}
    \begin{tikzpicture}
        \begin{axis}[]
            \addplot table [] {
            0.22 0.56
            0.43 0.54
            0.65 0.53
            0.86 0.55
            1.08 0.48
            1.3  0.34
            1.52 0.17
            1.73 0.23
            1.95 0.16
            2.17 0.17
            2.38 0.23
            2.6  0.26
            };
        \end{axis}
    \end{tikzpicture}
%\end{frame}
\end{document}

所以剧情本身还是不错的。

如何在 beamer 框架中使用我的 pgfplot?

答案1

问题在于,当轴被包裹在框架中时,它就是宏的一部分。实现这一点的一种方法是让框架fragile。参见例如这里进行讨论。

\documentclass[]{beamer}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{frame}[fragile]
\frametitle{Comparison to template fitting}
    \begin{tikzpicture}
        \begin{axis}[]
            \addplot table [] {
            0.22 0.56
            0.43 0.54
            0.65 0.53
            0.86 0.55
            1.08 0.48
            1.3  0.34
            1.52 0.17
            1.73 0.23
            1.95 0.16
            2.17 0.17
            2.38 0.23
            2.6  0.26
            };
        \end{axis}
    \end{tikzpicture}
\end{frame}
\end{document}

在此处输入图片描述

或者,您可以添加显式的行分隔符。pgfplots 手册 v1.17 在第 49 页写道

在此处输入图片描述

将情节放在投影仪框架中正是其中一种情况,因此我们可以\\在这里使用。

\documentclass[]{beamer}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{frame}
\frametitle{Comparison to template fitting}
    \begin{tikzpicture}
        \begin{axis}[]
            \addplot table [row sep=\\] {
            0.22 0.56\\
            0.43 0.54\\
            0.65 0.53\\
            0.86 0.55\\
            1.08 0.48\\
            1.3  0.34\\
            1.52 0.17\\
            1.73 0.23\\
            1.95 0.16\\
            2.17 0.17\\
            2.38 0.23\\
            2.6  0.26\\
            };
        \end{axis}
    \end{tikzpicture}
\end{frame}
\end{document}

题外话:我建议使用\frametitle命令作为框架的标题。

相关内容