我是一个蟒蛇初学者尝试使用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()
我要做的是在同一个地块上重新绘制对象。比如我画的线,我想用不同的m重绘它,并且在1/2秒之后说b。任何人都可以建议进行一些代码更改吗?
答案 0 :(得分:0)
一种方法是使用plt.ion()
进入交互模式,绘制线条并存储它然后更改其ydata
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)