I want to make gif animation with FuncAnimation of matplotlib.
Here is the code.
However the output image contains multiple colorbars like this(link)
Does anyone know how to fix this problem ?
If I set
plt.colorbar()
just after or before
ani = animation.FuncAnimation(fig, update, interval=100 ,frames=400)
, it returns RuntimeError: No mappable was found to use for colorbar creation. First define a mappable such as an image (with imshow) or a contour set (with contourf).
If I subsitute plt.colorbar() with if(k==0): plt.colorbar(), image contains same 2 colorbars.
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from PIL import Image
import moviepy.editor as edit
from mpl_toolkits.axes_grid1 import make_axes_locatable
def update(k):
plt.cla() # clear axis
#updating Val...
plt.contourf(X0, Y0, Val, cmap = "bwr")
plt.colorbar()
plt.axes().set_aspect("equal")
plt.title("title-name")
fig = plt.figure()
ani = animation.FuncAnimation(fig, update, interval=100 ,frames=400)
ani.save("out.gif", writer='imagemagick')