以下は、私の問題を示す MWE です。問題は、ラベルが各スライドでどのように移動するかです。最初は右揃えで、次のスライドでは中央揃えになるようです。図がスライド間で移動しないように、各ラベルを各スライドのチェック マークの下に中央揃えにするにはどうすればよいでしょうか。
\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}
スライド間のラベル表示の構成は、この解決。
答え1
ファントムを連続するスライドに配置するのではなく、最初のスライドにのみファントムをすべて配置し、次のスライドで後続のラベルを明らかにすることができます。次の方法で動作するはずです。
\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}
答え2
衝突をすべて止めるには、プロットを環境に囲むだけで済みますoverlayarea
。2 番目の引数で垂直方向の位置を制御できます。次のようになります。
\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}