基本思路:
- 首先绘制出几十张静态图片
- 然后将静态图片合并为gif文件
- 首先运行
StaticGraphs.py
文件生成静态图片
import matplotlib.pyplot as plt
from numpy import *
from PIL import Image
#------------------------------------------------------------
xs = linspace(1, 50, 50)
t = linspace(0, 50, 200)
sint = sin(t)
count=0
for x in xs:
plt.clf()
plt.plot(t, sint, label='Sinusoidal Curve')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude (V)')
plt.grid(True)
plt.axis([0, x, -1.5, 1.5])
plt.savefig(r'.\temp\%d.jpg'%count)
count = count+1
- 然后运行
MovingGraph.py
文件自动生成gif图片
from PIL import Image
import os.path
#------------------------------------------------------------
def filedim2gif(giffile=r'.\temp\gif.gif', filedim=[], period=50, last=50):
if len(filedim) ==0: return 0
imageDim = []
for f in filedim:
imageDim.append(Image.open(os.path.join(r'.\temp', f)))
duration = [period] * len(imageDim)
duration[-1] = last
imageDim[0].save(giffile,\
save_all=True,\
append_images=imageDim[1:],\
duration=duration,
loop=False)
print('Save GIF: %s'%giffile)
return 0
count = eval(input('图片数量:'))
filedimls = []
for i in range(count):
filedimls.append('{}.jpg'.format(i))
filedim2gif(filedim=filedimls,period=count, last=count)
input('任意键继续...')
如需源文件点击此处下载
参考资料:TsinghuaJoking 如何使用Python语言将测量数据曲线动起来?