Estoy haciendo una beamer
presentación. Necesito pgfplots
cargar una sola columna de un archivo de datos como este:
1 10 50 -50
2 11 51 -49
3 12 52 -48
4 13 53 -47
5 14 54 -46
6 15 55 -45
...
Cada figura debe estar en cada diapositiva.
Estoy usando este código, pero no puedo hacerlo funcionar correctamente.
\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}
Respuesta1
¿Es lo siguiente lo que quieres?
Lo único que cambié fue eliminar col sep=tab
porque los datos aparecían espaciados al pegarlos (por lo que probablemente sean irrelevantes para usted) y mover el punto y coma. Todo lo demás está ahí debido a que faltan definiciones/paquetes en su código de muestra. Por ejemplo, los colores no estaban necesariamente definidos, así que simplemente cambié a algo estándar.
\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}