Python Matplotlib子地块动画中出现的多个颜色条

Python Matplotlib子地块动画中出现的多个颜色条,python,matplotlib,animation,Python,Matplotlib,Animation,我有两个等高线图-第一个是静态的,应该只是在背景中,第二个我动画与透明度的顶部。我希望顶部(动态)数据集有一个静态的颜色条。我试着为一个例子改编一些代码,我只看到一个ax,但我一直在动画的每一步都会出现一个新的颜色条。我可以理解为什么会这样(我每次都会调用plt.colorbar),但我不知道如何将colorbar添加到数据中 下面的代码是我刚刚编写的一些示例数据 import numpy as np from matplotlib import pyplot as plt from matpl

我有两个等高线图-第一个是静态的,应该只是在背景中,第二个我动画与透明度的顶部。我希望顶部(动态)数据集有一个静态的颜色条。我试着为一个例子改编一些代码,我只看到一个ax,但我一直在动画的每一步都会出现一个新的颜色条。我可以理解为什么会这样(我每次都会调用
plt.colorbar
),但我不知道如何将colorbar添加到数据中

下面的代码是我刚刚编写的一些示例数据

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation

size = 200
x = np.arange(0, size, 1)
y = np.arange(0, size, 1)
X, Y = np.meshgrid(x, y)

# Define example data
data1 = np.exp(-((X-100)**2 + (Y-100)**2)/20**2)
data2 = np.zeros((10, size, size))
for i in range(10):
    data2[i,:,:] = np.exp(-((X-100+i)**2 + (Y-100+i)**2)/20**2)

def plotfunction(data_k, k):
    ax2.clear()
    colors = ax2.contourf(data_k, alpha = 0.5)
    plt.colorbar(colors)
    return ax2

def animate(k):
    plotfunction(data2[k], k)

fig, ax1 = plt.subplots(1, 1)
ax2 = fig.add_subplot(111, facecolor = "none")
ax1.set_aspect('equal')
ax2.set_aspect('equal')

ax1.contourf(data1)

anim = animation.FuncAnimation(fig, animate, frames = 10)
anim.save("thing.gif")

每次
动画
调用
绘图函数
时,您都会创建一个颜色条,我知道,尽管我不知道如何以不会发生这种情况的方式为该轴创建颜色条