在没有清除matplotlib中的早期绘图的情况下,在绘图上进行点移动

时间:2017-07-25 09:11:43

标签: python matplotlib plot

我试图在matplotlib中的随机图上做一点动作。请参阅以下代码。

import numpy as np 
import matplotlib.pyplot as plt 
from time import sleep
plt.ion()
a = np.array([[1,1],[5,5],[2,4],[7,8],[4,2],[10,11]])
b = []
for i in range(a.shape[0]/2):
    b.append([a[2*i],a[2*i+1]])
b = np.array(b)

for i in b:    # retain this plot
    plt.plot(i[:,0],i[:,1])

for i in b:
    t = np.linspace(0,1,100)
    for k in t:
        x = (1-k)*i[0,0]+k*i[1,0]
        y = (1-k)*i[0,1]+k*i[1,1]
        sleep(0.1)
        # plt.gcf().clear()
        plt.scatter([x],[y])
        plt.draw()

当我运行此代码时,一个点正在移动图,但它留下了痕迹。但是,我想要一个单点移动而不留痕迹并保留我在绘制点之前所做的情节。如果我使用clear()(我在代码中对它进行了评论),它将清除整个绘图并仅绘制点。

我尝试使用 FuncAnimation(),但我发现很难绘制所有其他数量超过300的图。

我有什么方法可以使用吗? Plase,help。

由于

0 个答案:

没有答案