赞
踩
需要保存历史数据(保存到容器t和m)
- import matplotlib.pyplot as plt
- import numpy as np
- import time
- from math import *
-
- #? python中plot实现即时数据动态显示方法,需要保存历史数据
-
- plt.ion() #* 开启interactive mode 成功的关键函数
- plt.figure(1)
- t = [0] # 起始点x
- t_now = 0 # x实际值
- m = [sin(t_now)] # 起始点y
-
- for i in range(500):
- plt.clf() #清空画布上的所有内容
- t_now = i*0.1
- t.append(t_now)#模拟数据增量流入,保存历史数据
- m.append(sin(t_now))#模拟数据增量流入,展示
- plt.plot(t,m,'-r') # r(代表红色) r+ r -r g(绿色)
- plt.pause(0.01)

无需保存数据
- import matplotlib.pyplot as plt
- import numpy as np
- import time
- from math import *
-
- #? 无需保存数据
-
- plt.ion() #开启interactive mode 成功的关键函数
- plt.figure(1)
- t = [0]
- t_now = 0
- m = [sin(t_now)]
-
- for i in range(500):
- # plt.clf() # 清空画布上的所有内容。此处不能调用此函数,不然之前画出的点,将会被清空。
- t_now = i*0.1
-
- plt.plot(t_now,sin(t_now),'.') # 第次对画布添加一个点,覆盖式的。
-
- plt.pause(0.01)

无需保存数据(多条曲线)
- import matplotlib.pyplot as plt
- import numpy as np
- import time
- from math import *
-
- ? 无需保存数据(多条线)
-
- plt.ion() #开启interactive mode 成功的关键函数
- plt.figure(1)
- t = np.linspace(0, 20, 100) #* 等差数列,从0到20生成100个数据
-
- for i in range(200):
- y = np.sin(t*i/10.0)
- plt.plot(t, y) # 一条轨迹
- plt.pause(0.01)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。