【问题标题】:Python graphics animation librariesPython图形动画库
【发布时间】:2012-12-31 17:10:04
【问题描述】:

我有一个模拟设置,它从声音文件生成 2D 图形。我想为我的模拟编写一个可视化工具。就像在音频编辑应用程序中一样,我想播放声音文件并在与我正在播放的声音文件关联的 2D 图形上看到一个垂直条移动。

我目前正在使用matplotlib 绘制我的绘图,但它们都是静态的。我可以用matplotlib做这种互动动画吗?

有没有其他的图书馆可以推荐?我可以用 C/C++ 和 Python 编程。

【问题讨论】:

  • 你解决了吗?
  • 我无法使用 matplotlib 做到这一点。我使用 opengl 编写了自己的图形库。 matplotlib 总是阻塞,我猜非阻塞方法不是跨平台的。
  • matplotlib 不会阻塞,除非你告诉它

标签: python animation matplotlib


【解决方案1】:

很容易更新现有的matplotlib 图。大多数艺术家都有update_* 函数,这些函数将修改图表使用的数据,并且在调用draw() 后,图表将反映更新的数据。

其中很多内容已经编写完毕,并且很好地封装在 animation 模块中,还有一个非常不错的 tutorial

如果您已经有一个想要将其推入的框架,则需要执行以下操作:

ln, = ax.plot(...)
canv = ax.figure.canvas
# some code 
while True:
    # code
    ln.set_xdata(new_x)
    ln.set_ydata(new_y)
    canv.draw()
    # code

【讨论】:

    猜你喜欢
    • 2017-06-22
    • 2014-03-25
    • 2014-12-26
    • 2015-04-14
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多