beamer 演示文稿,每张幻灯片上都有一张图,使用 foreach 和 pgfplots

beamer 演示文稿,每张幻灯片上都有一张图,使用 foreach 和 pgfplots

我在做一个beamer演示。pgfplots我需要加载数据文件的单个列,如下所示:

1   10  50  -50
2   11  51  -49
3   12  52  -48
4   13  53  -47
5   14  54  -46
6   15  55  -45
...

每张幻灯片上都应有一张图形。

我正在使用此代码,但无法使其正常工作。

\documentclass[10pt,xcolor={svgnames,x11names,dvipsnames}]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[spanish,es-nodecimaldot]{babel}
\usepackage{libertine}
\usepackage{xmpmulti}
\usepackage[T1]{fontenc}
\usepackage{slantsc}
\usepackage{amsmath}
\usepackage{graphicx}% http;//ctan.org/pkg/graphicx

\usepackage{rotating}
\usepackage{pgf,tikz,tikz-3dplot}
\usepackage{pgfplots}
\usetikzlibrary{arrows,patterns,calc,spy,shapes,petri,shapes.misc}
\usepgfplotslibrary{groupplots,colormaps}

\usetikzlibrary{pgfplots.colormaps}
\usepackage{mathrsfs}

\usetikzlibrary{
shapes,
shapes.geometric,
shapes.symbols,
shapes.arrows,
shapes.multipart,
shapes.callouts,
shapes.misc}

\begin{document}

\begin{frame}
  \begin{tikzpicture}
    \begin{axis}[
      clip=false,
      axis lines=center,
      height=5.5cm, width=8cm,
      x post scale=1.4
    ]
      \foreach \num in {1,2,3}
        \only<\num>{
          \addplot[
            DodgerBlue1,
            line width=0pt,
            fill=Blue,
            opacity=0.5
          ] table [
            col sep=tab,
            trim cells=true,
            x index=0, y index=\num
          ] {espectros_im_P_10_F_0_sigma_500.txt}\closedcycle ;
        }
    \end{axis}
  \end{tikzpicture}
\end{frame}

\end{document}

答案1

以下就是您想要的吗?

地块

我唯一改变的是删除了col sep=tab数据,因为粘贴时数据会出现空格(所以可能与你无关)并移动了分号。其他一切都只是因为示例代码中缺少定义/包而存在。例如,颜色不一定有定义,所以我只是切换到标准的颜色。

\begin{filecontents*}{\jobname.dat}
1 10 50 -50
2 11 51 -49
3 12 52 -48
4 13 53 -47
5 14 54 -46
6 15 55 -45
\end{filecontents*}
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\begin{frame}
  \begin{tikzpicture}
    \begin{axis}[
      clip=false,
      axis lines=center,
      height=5.5cm,
      width=8cm,
      x post scale=1.4,
      ]
      \foreach \num in {1,2,3}
      \only<\num>{\addplot [blue, line width=0pt, fill=blue!20, opacity=0.5,]    table [trim cells=true, x index=0, y index=\num] {\jobname.dat}\closedcycle };
    \end{axis}
  \end{tikzpicture}
\end{frame}
\end{document}

相关内容