
我對 tikz 有點陌生,我第一次嘗試使用 \onslide 指令。我不明白為什麼我的程式碼沒有產生錯誤,但也沒有效果(在 3 張投影片上產生 3 張相同的圖,其中包含所有內容)。
這是我的 MWE:
\documentclass[10pt]{beamer}
\usetheme{Madrid}
% Plot
\usepackage{tikz}
\usepackage{tkz-euclide} % Coordinate axes
\usepackage{pgfplots} % Another axes package
\pgfdeclarelayer{background}% determine background layer
\pgfsetlayers{background,main}% order of layers
\begin{document}
\begin{frame}{Sample}
\begin{figure}
\centering
\pgfplotsset{xmin=0, xmax=1, ymin=0, ymax=1}
\pgfplotsset{compat=1.17}
\begin{tikzpicture}[scale=1]
\begin{axis}[domain=0:1,
ylabel near ticks,
xlabel near ticks,
xlabel={$m$},
ylabel={$n$},
clip mode=individual]
\addplot[black,dashed,domain=0:1,smooth] plot ({\x}, {\x });
\addplot[black,thick,domain=0:1,smooth,samples=500] plot ({ 3*\x/(3*\x + (1-\x)) }, {\x});
\node[anchor=south] at (0.75,0.55) {$\color{black}g_b$};
\onslide<2->{
\addplot[black,thick,domain=0:1,smooth,samples=500] plot ({ 9*\x/(9*\x + (1-\x)) }, {\x});
\node[anchor=south] at (0.8,0.4) {$\color{black}g_b^2$}; }
\onslide<3->{
\addplot[black,thick,domain=0:1,smooth,samples=500] plot ({ 81*\x/(81*\x + (1-\x)) }, {\x});
\node[anchor=south] at (0.9,0.2) {$\color{black}g_b^3$}; }
\end{axis}
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
答案1
嗯,我想把它改成
\only<overlay specification>{\addplot { ... };}
作品。希望能幫助其他偶然發現這個問題的人!