【问题标题】:matplotlib animation works on Windows and Linux, but not on Mac OSmatplotlib 动画适用于 Windows 和 Linux,但不适用于 Mac OS
【发布时间】:2020-09-03 11:27:12
【问题描述】:

我在 Mac OS 上的 Python 脚本中遇到 matplotlib 动画问题。

完整的脚本是here(有点长),动画部分在这里:

# ...
ani = animation.FuncAnimation(
    fig,
    animate,
    np.arange(m),
    interval=tint,
    blit=True,
    repeat=False
)
plt.show()

我遇到的问题是动画在 Windows 和 Linux 上运行良好,但在 Mac OS 上动画不显示。这是video demonstration

在所有三个系统(Windows、Linux 和 Mac OS)上,我只安装了 matplotlibnumpy 包来运行脚本,除了这些我没有安装任何东西,所以所有三个(应该)都有相同的包。以防万一,以下是他们的环境摘要:

# Windows (10.19041.450, x64)

- Python 3.7.2
- matplotlib 3.3.1
- numpy 1.19.1

# Linux (Ubuntu 20.04.1, x64)

- Python 3.8.2
- matplotlib 3.3.1
- numpy 1.19.1

# Mac OS (10.15.6, x64)

- Python 3.8.5
- matplotlib 3.3.1
- numpy 1.19.1

我尝试过其他简单的情节动画示例(例如来自 matplotlib documentation 的那些),它们在 Mac OS 上运行良好,所以我猜我的特定脚本有问题,但事实上这非常相同的脚本可以在 Windows 和 Linux 上运行(尽管由于某种原因动画速度不同)让我很困惑。

我还在其他 3 台安装了不同 Mac OS 和 Python 版本的 Mac 上测试了我的脚本,但都是一样的。

您是否发现我的脚本在 Mac OS 上不显示动画的任何原因?

【问题讨论】:

    标签: python matplotlib matplotlib-animation


    【解决方案1】:

    我发现在我的情况下,默认的matplot backendMacOSX,显然这个不能做我的动画(无论出于什么原因)。

    而有能力的后端原来是TkAgg。所以在这样设置之后:

    matplotlib.use("TkAgg")
    

    我现在也可以在 Mac OS 上的脚本中获得动画。

    如果您对更多细节感兴趣,我写了一个blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-28
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多