foreach と pgfplots を使用して各スライドに各図を表示する Beamer プレゼンテーション

foreach と pgfplots を使用して各スライドに各図を表示する Beamer プレゼンテーション

プレゼンテーションを行っていますbeamerpgfplots次のようにデータ ファイルの 1 つの列を読み込む必要があります。

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}

関連情報