foreach 및 pgfplots를 사용하여 각 슬라이드의 각 그림을 포함하는 비머 프레젠테이션

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}

관련 정보