码迷,mamicode.com
首页 > 其他好文 > 详细

MeteoInfoLab脚本示例:线性拟合

时间:2015-06-19 10:16:30      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

MeteoInfoLab提供一个线性拟合函数linregress,参数是参与拟合的两个数据序列,返回拟合的斜率、截距和相关系数。有了上述拟合参数可以用polyval函数生成拟合数据(直线)。然后可以将数据、拟合线、公式等绘图。

技术分享

 

脚本程序:

fn = os.path.join(‘D:/KeyData/PMMUL/data/54500_PMMUL_DA.csv‘)
if os.path.exists(fn):
    print fn
    tdata = readtable(fn, delimiter=‘,‘, format=‘%{yyyyMMdd}D%f%f%f%i%i%i‘)        
    pm10 = tdata[‘PM10‘]
    pm25 = tdata[‘PM2.5‘]
    slope, intercept, r = linregress(pm10, pm25)
    x = arange(0, 800, 100)
    y = polyval([slope, intercept], x)
        
    scatter(pm10, pm25, s=2, color=‘k‘, label=‘PM‘)
    plot(x, y, ‘r-‘, linewidth=2)
    xlim(0, 800)
    ylim(0, 800)
    xlabel(r‘$\rm{PM_{10}} \ (\mu g \ m^{-3})$‘)
    ylabel(r‘$\rm{PM_{2.5}} \ (\mu g \ m^{-3})$‘) 
    text(100, 600, r‘$y = ‘ + ‘%.4f‘ % slope + ‘x + ‘ + ‘%.4f‘ % intercept + ‘$‘, fontsize=16)  
    text(100, 520, r‘$R^2 = ‘+ ‘%.4f‘ % (r * r) + ‘$‘, fontsize=16)
    text(700, 650, ‘(a)‘)
    show()

print ‘Finished...‘

 

MeteoInfoLab脚本示例:线性拟合

标签:

原文地址:http://www.cnblogs.com/yaqiang/p/4587709.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!