Как использовать matplotlib.animation.FuncAnimation для анимации более чем одной plt.figure?
Я пытался анимировать две отдельные фигуры, чтобы я мог отобразить парковочное место на рисунке 1 и движущийся агент автомобиля на рисунке 2.
Тем не менее, все, что я вижу, это парковочное место на рисунке 1 и пустой рисунок на рисунке 2. Я не вижу движущегося автомобиля (или автомобиля, анимированного анимацией. FuncAnimation)
'''
self.ax adds environment to our plt.figure(1) (self.env_fig)
self.ax2 adds car to out plt.figure(2) (self.car_fig)
'''
self.env_fig = plt.figure(1)
self.ax = self.env_fig.add_subplot(111, aspect='equal')
self.ax.set_title('Parking Environment')
self.ax.axis('off')
self.car_fig = plt.figure(2)
self.ax2 = self.car_fig.add_subplot(111, aspect='equal')
self.ax2.set_title('Car agent')
self.ax2.axis('off')
self.wall_patch = mpl_patches.PathPatch(self.wall_path, edgecolor='black', facecolor='white', lw=5)
self.car1_patch = mpl_patches.PathPatch(self.car1_path, facecolor='black', lw=0)
self.car2_patch = mpl_patches.PathPatch(self.car2_path, facecolor='black', lw=0)
self.ax.add_patch(self.wall_patch)
self.ax.add_patch(self.car1_patch)
self.ax.add_patch(self.car2_patch)
self.ax2.add_patch(self.agent_patch)
self.ax2.add_patch(self.agent_head_patch)
self.ax2.add_patch(self.agent_center_patch)
и внизу я реализовал функцию animate () для одновременного отображения и анимации обеих фигур.
def plt_show(self):
# print '...........................'
self.anim = animation.FuncAnimation(self.env_fig, self.animate_env,
init_func=None,
frames=1000,
interval=1,
# repeat= False,
blit=True)
self.anim1 = animation.FuncAnimation(self.car_fig, self.animate_car,
init_func=None,
frames=1000,
interval =1,
blit=True)
plt.gca().invert_xaxis()
plt.gca().invert_yaxis()
plt.axis('equal')
plt.axis('off')
И я вызываю plt_show () в функции main ().
Я думал, что код выше будет отображать две отдельные фигуры, анимированные в соответствии с тем, как я их определил. Однако показана только фигура 2, тогда как фигура 1 просто показывает пустую фигуру.
Возможно ли, что цифра 1 перекрывается цифрой 2?
Или проблема в другом месте кода?
Спасибо.