动画绘图轴标签奇怪移动

动画绘图轴标签奇怪移动

当我使用animate包装轴标签随着刻度移动而开始跳动和弹跳,我该如何阻止这种情况发生?另外:

  • 如何让动画更流畅?增加帧速率只会使其更快。
  • 如何提高编译性能?我读到过一些文章说样本的影响很大,但使用600already 会让图看起来很奇怪。(目前正在3~4分钟
  • 我也希望有无限的域,但是给了我错误dimension too large

平均能量损失

\documentclass{article}
\usepackage{tikz,pgfplots}
\usepackage{calc}
\usepackage{animate}

\begin{document}
\begin{animateinline}[controls,autopause,poster=2,buttonbg=1]{15}
\multiframe{60}{rY=0.5+0.5, rX=100+200}{%
  \begin{tikzpicture}
    \begin{axis}[
 %   axis equal image=true,
      width=10cm,
      height=10cm,
      scale only axis,
      minor tick num=3,
      xmin=0.05,
      xmax=\rX,%10000,
      ymin=0.05,
      ymax=\rY,
      ylabel = Yada y,
      xlabel = Yada x
    ]
      \addplot[red,thick,smooth,samples=600,domain=0:5000] {0.8*x^0.15};
      \addplot[blue,thick,domain=0:5000]  {2.5 + 0.00032*x^1}; %domain=0:5000
    \end{axis}
  \end{tikzpicture}
}
\end{animateinline}
\end{document}

答案1

所有帧都需要共享相同的边界框。

使用时animate,从第二帧开始的所有帧都将被挤压/拉伸以适合第一帧的边界框,该边界框用于缩放动画小部件。

为了确保所有框架都具有相同的大小,请添加类似

   \useasboundingbox (-2,-2) rectangle (12,12);

在环境开始时tikzpicture 。您可能希望使用rectangle角坐标来减少绘图周围的白色边缘:

\documentclass{article}
\usepackage{tikz,pgfplots}
\usepackage{calc}
\usepackage{animate}

\begin{document}
\begin{animateinline}[controls,autopause,poster=2,buttonbg=1]{15}
\multiframe{60}{rY=0.5+0.5, rX=100+200}{%
  \begin{tikzpicture}
    \useasboundingbox (-2,-2) rectangle (12,12);
    \begin{axis}[
 %   axis equal image=true,
      width=10cm,
      height=10cm,
      scale only axis,
      minor tick num=3,
      xmin=0.05,
      xmax=\rX,%10000,
      ymin=0.05,
      ymax=\rY,
      ylabel = Yada y,
      xlabel = Yada x
    ]
      \addplot[red,thick,smooth,samples=600,domain=0:5000] {0.8*x^0.15};
      \addplot[blue,thick,domain=0:5000]  {2.5 + 0.00032*x^1}; %domain=0:5000
    \end{axis}
  \end{tikzpicture}
}
\end{animateinline}
\end{document}

至于编译性能,除了外部化 TikZ 图形外,没有太多事情要做。图表以解析表达式的形式给出,由 PGF 数学引擎(在 TeX 中实现)计算。

相关内容