代码之家  ›  专栏  ›  技术社区  ›  dreeves

在Mathematica中调整图像列表的大小以与ListAnimate一起使用

  •  1
  • dreeves  · 技术社区  · 14 年前

    假设我们有一个图像列表,如下所示:

    imageList = Table[Plot[Sin[k*x], {x, 0, 2 Pi}], {k, 1, 4, .05}];
    

    我们可以这样设置这些图像的动画:

    ListAnimate[imageList]
    

    但是现在假设我们想要更大的动画。

    我们可以手动调整列表动画中每个帧的大小。 这是可行的,但我们怎样才能做到不那么乏味呢?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Janus    14 年前

    关键的选择是 ImageSize . 您可以将它与各种绘图命令以及 Show Export 图像大小 可以作为 {<width>,<height>} (其中任何一个都可以 Automatic AspectRatio )或作为 <width> 它是 {<width>, Automatic} . 简言之,你可以做像

    gfx = Plot[x^2, {x, 0, 1}, ImageSize -> 200]
    Show[gfx, AspectRatio -> 1, ImageSize -> {Automatic, 100}]
    

    如果你真的想控制图形的布局,你需要开始玩 ImagePadding PlotRangePadding 同样,但是如果你朝这个方向走的话,要做好白发的准备!

    imageList

    ListAnimate[Show[#, ImageSize->800]& /@ imageList]
    
        2
  •  1
  •   High Performance Mark    14 年前

    我对你的问题有点不解。

        ListAnimate[Table[Plot[x^n, {x, -5, 5}, ImageSize -> {100 n, 75 n}], {n, 1, 5}]]
    

    对我来说效果很好,因为它可以用指定的大小绘制图像。我承认,这个例子有点混乱。ListAnimate命令还可以生成一个框架足够大的面板,以容纳本例中最大的图形。

    如果我为你回答了错误的问题,请再发一次,这是我的专长之一。

        3
  •  0
  •   Community Sam Holder    7 年前

    以下是对目前措辞的问题的一个可行答案,感谢 High Performance Mark Janus

    ListAnimate[Show[#, ImageSize->800]& /@ imageList]