Unten sehen Sie ein MWE, das mein Problem veranschaulicht. Das Problem besteht darin, wie sich die Beschriftungen durch jede Folie bewegen. Es scheint, als ob sie zuerst rechtsbündig ausgerichtet und dann für die nächste Folie zentriert werden. Wie kann ich jede Beschriftung auf jeder Folie unter dem Häkchen zentrieren, damit sich das Diagramm nicht zwischen den Folien bewegt?
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\begin{frame}{Minimal Example}
\begin{tikzpicture}
\begin{axis}[
font=\tiny,
% enlarge y limits={value=0.2,upper},
% scaled ticks=false,
xticklabels={,
\only<4>{\phantom{$\mu-3\sigma$}} \only<4->{$\mu-3\sigma$},
\only<3>{\phantom{$\mu-2\sigma$}} \only<3->{$\mu-2\sigma$},
\only<2>{\phantom{$\mu-\sigma$}} \only<2->{$\mu-\sigma$},
$\mu$,
\only<2>{\phantom{$\mu+\sigma$}} \only<2->{$\mu+\sigma$},
\only<3>{\phantom{$\mu+2\sigma$}} \only<3->{$\mu+2\sigma$},
\only<4>{\phantom{$\mu+3\sigma$}} \only<4->{$\mu+3\sigma$},
},
yticklabels={,},
]
\addplot[blue] coordinates {(0,0) (0,1) (6,1) (6,0)};
\addplot[red] coordinates {(1,0) (1,2) (5,2) (5,0)};
\addplot[green] coordinates {(2,0) (2,3) (4,3) (4,0)};
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}
Die Konstruktion der Anzeige von Beschriftungen zwischen Folien habe ich übernommen von diesemLösung.
Antwort1
Anstatt die Phantome auf aufeinanderfolgenden Folien zu platzieren, können Sie sie alle nur auf der ersten Folie platzieren und dann die nachfolgenden Beschriftungen auf den nächsten Folien aufdecken. Folgendes sollte funktionieren:
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\begin{frame}{Minimal Example}
\begin{tikzpicture}
\begin{axis}[
font=\tiny,
% enlarge y limits={value=0.2,upper},
% scaled ticks=false,
xticklabels={,
\only<1>{\phantom{$\mu-3\sigma$}} \only<4->{$\mu-3\sigma$},
\only<1>{\phantom{$\mu-2\sigma$}} \only<3->{$\mu-2\sigma$},
\only<1>{\phantom{$\mu-\sigma$}} \only<2->{$\mu-\sigma$},
$\mu$,
\only<1>{\phantom{$\mu+\sigma$}} \only<2->{$\mu+\sigma$},
\only<1>{\phantom{$\mu+2\sigma$}} \only<3->{$\mu+2\sigma$},
\only<1>{\phantom{$\mu+3\sigma$}} \only<4->{$\mu+3\sigma$},
},
yticklabels={,},
]
\addplot[blue] coordinates {(0,0) (0,1) (6,1) (6,0)};
\addplot[red] coordinates {(1,0) (1,2) (5,2) (5,0)};
\addplot[green] coordinates {(2,0) (2,3) (4,3) (4,0)};
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}
Antwort2
Um das ganze Hin und Her zu stoppen, können Sie das Diagramm einfach in eine overlayarea
Umgebung einschließen. Mit dem zweiten Argument können Sie die vertikale Positionierung steuern. So:
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\begin{frame}{Minimal Example}
\begin{overlayarea}{\textwidth}{.7\textheight}
\begin{tikzpicture}
\begin{axis}[
font=\tiny,
xticklabel style={text depth=0pt},
% enlarge y limits={value=0.2,upper},
% scaled ticks=false,
xticklabels={,
\only<4->{$\mu-3\sigma$},
\only<3->{$\mu-2\sigma$},
\only<2->{$\mu x-\sigma$},
$\mu$,
\only<2->{$\mu+\sigma$},
\only<3->{$\mu+2\sigma$},
\only<4->{$\mu+3\sigma$},
},
yticklabels={,},
]
\addplot[blue] coordinates {(0,0) (0,1) (6,1) (6,0)};
\addplot[red] coordinates {(1,0) (1,2) (5,2) (5,0)};
\addplot[green] coordinates {(2,0) (2,3) (4,3) (4,0)};
\end{axis}
\end{tikzpicture}
\end{overlayarea}
\end{frame}
\end{document}