如何使用Matplotlib的动画渲染自定义开放AI体育馆环境

时间:2019-06-18 19:20:45

标签: python matplotlib openai-gym

我正在创建一个新的OpenAI Gym Environment,并希望显示一个我已经编码为使用Matplotlib显示的实时动画。

我尝试在render方法中绘制并调用plt.show(),但这会为每帧创建一个新窗口,并关闭旧的窗口以打开新的窗口。

我当前制作动画的代码:

fig = plt.figure(figsize=(10,10), dpi=80)

plt.axis([0, SIZE, 0, SIZE])
plt.xticks([])
plt.yticks([])

plt.hist2d(x,y, bins=10, range=[[0, SIZE], [0, SIZE]])
sc, = plt.plot(x, y, 'ro')

# Plot boids
def plot_boids(boids):
  #... compute some stuff here ...

  plt.hist2d(x,y, bins=10, range=[[0, SIZE], [0, SIZE]])
  return sc.set_data(x, y)

def animate(i):
  # ... compute some stuff here ...

  fig = plot_boids(boids)

anim=animation.FuncAnimation(fig, animate, repeat=False, 
                              blit=False, frames=100, interval=100)
plt.show()

有什么方法可以将plt动画方法直接集成到Gym的render方法中?

0 个答案:

没有答案