我试图动画估计高斯混合模型(高斯混合模型)的均值和协方差,我需要在每次迭代时更新均值和协方差的图。
这是非常简单的重绘方法,因为我使用的行具有set_data
方法,我可以在每次更新时调用。不幸的是,更新协方差是另一个故事,因为contour
元素表示为QuadContourSet
个对象且没有set_data
方法。
这是一个玩具示例:
import numpy as np
from matplotlib import mlab
# Toy data points (these are constant)
plt.plot(np.arange(-3,3,0.1), np.arange(-3,3,0.1))
x = np.arange(-5.0, 5.0, 0.1)
y = np.arange(-5.0, 5.0, 0.1)
X, Y = np.meshgrid(x, y)
# First toy iteration
Z1 = mlab.bivariate_normal(X, Y,
1, 1,
0, 0)
covariance1 = plt.contour(X, Y, Z1)
# Second toy iteration
Z2 = mlab.bivariate_normal(X, Y,
1, 1,
0, 3)
covariance2 = plt.contour(X, Y, Z2)
在实际问题中,我绘制平均值,方差和数据点,我不想清除整个轴。
问题是如何在不删除其他元素的情况下删除第一个轮廓covariance1
?
答案 0 :(得分:3)
for coll in covariance1.collections:
coll.remove()
然后更新。