Matplotlib学习笔记——绘制误差线

绘制误差线

对任何一种科学测量方法来说,准确的衡量数据误差都是无比重要的事情,甚至比数据本身还重要.在数据可视化的结果中用图形将误差有效的显示出来,就可以提供更充分的信息.

基本误差线
#以下代码在notebook中执行
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('seaborn-whitegrid')

x = np.linspace(0, 10, 50)
dy = 0.8
y = np.sin(x) + 0.8 * np.random.randn(50) 
#fmt是一种控制线条和点的外观的代码格式,语法与plt.plot的缩写代码一样.
plt.errorbar(x, y, yerr=dy, fmt='.k')
 
 

    这里写图片描述

    连续误差

    有时候可能需要显示连续变量的误差。matplotlib通过plt.plot和plt.fill_between来实现。下面通过Scikit-Learn程序库的API里面的高斯过程回归方法来演示。这是用一种非常灵活的非参数方程对带有不确定性的连续测量变量进行拟合的方法。

    from sklearn.gaussian_process import GaussianProcess
    
    #定义模型和要画的数据
    model = lambda x: x * np.sin(x)
    xdata = np.array([1,3,5,6,8])
    ydata = model(xdata)
    
    #计算高斯过程拟合结果
    gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1E-1,
                         random_start=100)
    gp.fit(xdata[:, np.newaxis], ydata)
    
    xfit = np.linspace(0, 10, 1000)
    yfit, MSE   = gp.predict(xfit[:, np.newaxis], eval_MSE=True)
    dyfit = 2 * np.sqrt(MSE)    #s*sigma~95%的置信区间
    
    #将上面的参数传入plt.errorbar函数,我们不是真的要为1000个数据点画上1000条误差线,相反,可以通过plt.fill_between函数中设置颜色来表示连续误差线
    plt.plot(xdata, ydata, 'or')
    plt.plot(xfit, yfit, '-', color='gray')
    #颜色为灰色,设置透明度为0.2
    plt.fill_between(xfit, yfit - dyfit, yfit+dyfit, color='gray', alpha=0.2)
    
    

    这里写图片描述

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值