平均能量损失

平均能量损失

beamer我想使用和的组合一次揭露两个图pgfplots。下面的 MWE 突出显示了三次尝试。

  • 第一次尝试使用\onslide但是好像没有什么明显的效果,直接显示最后的画面。
  • 第二次尝试使用了\only哪种工作,但由于第二个图未考虑在第一个图的创建范围内,因此我们得到了某种跳跃。
  • 下列的此解决方案我找到了风格的想法visible on。这看起来很有希望,但它从已经存在的填充开始。此外,它有四张幻灯片 - 我不明白为什么。

所以我的问题是:如何从一个空轴开始并一步一步地显示两个图形及其各自的填充。

\documentclass{beamer}

\usepackage{pgfplots}


\tikzset{
    invisible/.style={opacity=0},
    visible on/.style={alt={#1{}{invisible}}},
    alt/.code args={<#1>#2#3}{%
      \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
    },
  }

\begin{document}

\begin{frame}{Attempt 1}
\begin{tikzpicture} 
    \begin{axis}
        \onslide<+->{\addplot[black, fill=red, fill opacity=0.2]{-x+3}\closedcycle;}
        \onslide<+->{\addplot[black, fill=red, fill opacity=0.2]{x}\closedcycle;}
    \end{axis} 
\end{tikzpicture}%
\end{frame}

\begin{frame}{Attempt 2}
\begin{tikzpicture} 
    \begin{axis}
        \only<+->{\addplot[black, fill=red, fill opacity=0.2]{-x+3}\closedcycle;}
        \only<+->{\addplot[black, fill=red, fill opacity=0.2]{x}\closedcycle;}
    \end{axis} 
\end{tikzpicture}%
\end{frame}

\begin{frame}{Attempt 3}
\begin{tikzpicture} 
    \begin{axis}
        \addplot[visible on=<+->, black, fill=red, fill opacity=0.2]{-x+3}\closedcycle;
        \addplot[visible on=<+->, black, fill=red, fill opacity=0.2]{x}\closedcycle;
    \end{axis} 
\end{tikzpicture}%
\end{frame}

\end{document}

答案1

你的第三次尝试成功了,如果你把visible on=<+-> 选项fill opacity。原因是,在您的 MWE 中,visible on集合的定义opacity=0,但这被覆盖fill opacity=0.2,后者是稍后出现的。这就是为什么填充已经存在,而边界线却不存在的原因。

平均能量损失

\documentclass{beamer}
\usepackage{pgfplots}
\tikzset{
    invisible/.style={opacity=0},
    visible on/.style={alt={#1{}{invisible}}},
    alt/.code args={<#1>#2#3}{%
      \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
    },
  }
\begin{document}
\begin{frame}{Attempt 3}
\begin{tikzpicture} 
    \begin{axis}
        \addplot[black, fill=red, fill opacity=0.2,visible on=<+->]{-x+3}\closedcycle;
        \addplot[black, fill=red, fill opacity=0.2,visible on=<+->]{x}\closedcycle;
    \end{axis} 
\end{tikzpicture}%
\end{frame}
\end{document}

输出

在此处输入图片描述

答案2

以下是使用您的方法对两个图进行控制和\only控制的一种可能性:domainymin

\documentclass{beamer}
\usepackage{pgfplots}

\begin{document}

\begin{frame}{Attempt 1}
\begin{tikzpicture} 
    \begin{axis}[ymin=-6]
        \only<+->{\addplot[black, fill=red, fill opacity=0.2,domain=-5:5]{-x+3}\closedcycle;}
        \only<+->{\addplot[black, fill=red, fill opacity=0.2,domain=-5:5]{x}\closedcycle;}
    \end{axis} 
\end{tikzpicture}%
\end{frame}

\end{document}

结果:

在此处输入图片描述

相关内容