用matplotlib画图,一次性画出多张图片。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
#读取文件数据
df = pd.read_csv('30SaverageSpeed12.csv',names=['t','g'])
fig=plt.figure(figsize=(19.2,10.8)) #关键步骤,将plt.figure()放在for循环前面。
for i in range(150,2874,4):
Y0 = df.loc[0:i,'t'] #选取指定的数据
X0 = df.loc[0:i,'g'] #选取指定的数据
x0=np.array(Y0)
y0=np.array(X0)
# statsmodels.api
from scipy.signal import savgol_filter
zs1=savgol_filter(y0, 101, 1) # window size 51, polynomial order 3
plt.xlim((-10,86400)) #设置坐标轴范围
plt.ylim((-10,160))
plt.plot(x0,y0) #画原曲线
plt.plot(x0,zs1,lw=3,label='A') #画拟合曲线图
plt.legend(prop={'family' : 'Times New Roman', 'size' : 18}) #设置图例文字大小
plt.axhline(y=86,color='k')#画水平线
plt.yticks(fontproperties