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

时间:2015-11-06 10:15:47

标签: python matplotlib

我是一个蟒蛇初学者尝试使用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。任何人都可以建议进行一些代码更改吗?

1 个答案:

答案 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)