绘制,然后在python代码中重新绘制线条

绘制,然后在python代码中重新绘制线条,python,matplotlib,Python,Matplotlib,我是一名python初学者,尝试使用matplotlib.pyplot库在绘图上绘制一组点和一条线。下面是一些示例代码 import matplotlib.pyplot as plt import numpy as np x1,x2,n,m,b = -50.,150.,11,0.,0. x = np.r_[x1:x2:n*1j] for list in points: plt.plot(list[0], list[1], 'rs') plt.axis([ -50, 15

我是一名python初学者,尝试使用matplotlib.pyplot库在绘图上绘制一组点和一条线。下面是一些示例代码

import matplotlib.pyplot as plt
import numpy as np
x1,x2,n,m,b = -50.,150.,11,0.,0.
x = np.r_[x1:x2:n*1j]
for list in points:
        plt.plot(list[0], list[1], 'rs')     
plt.axis([ -50, 150, -50, 150])
plt.plot(x, m*x + b)
plt.show()

我想做的是在同一个绘图上重新绘制对象。比如我画的那条线,我想在1/2秒后用不同的m和b来重新画。有人能建议对代码进行一些更改吗?

一种方法是使用plt.ion进入交互模式,绘制线路并存储它,然后更改其数据

import matplotlib.pyplot as plt
import numpy as np
from time import sleep
x1,x2,n,m,b = -50.,150.,11,0.,0.
x = np.r_[x1:x2:n*1j]
plt.ion()
plt.axis([ -50, 150, -50, 150])
line, = plt.plot(x, m*x + b)    # comma is needed because plot returns a tuple
for m in np.r_[1:0:-0.1]:
    line.set_ydata(m*x + b)
    plt.draw()
    sleep(0.5)

您希望保留旧线还是清除旧线?这里的点是什么?1。旧线路不应保留。2.如果点数据来自一个文件,那么点就是一堆。那个部分很好用,我看到屏幕上画了红点。。