Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >为你的数据添加置信区间

为你的数据添加置信区间

作者头像
生信修炼手册
发布于 2020-08-20 11:15:59
发布于 2020-08-20 11:15:59
1.1K00
代码可运行
举报
文章被收录于专栏:生信修炼手册生信修炼手册
运行总次数:0
代码可运行

数据可视化时,除了展示数据的某个具体指,其置信区间也具有非常重要的参考意义,下图是一个典型的线性回归的拟合结果

涂色的蓝色直线表示的是线性回归的预测值,浅蓝色区域则是由每个预测值的置信区间构成,在matplotlib中, 可以通过fill_between系列函数来实现图中的置信区间的展示效果。

具体的,该系列包含了fill_between和fill_betweenx两个函数,其中,fill_between函数用于在两个水平曲线之间进行填充,fill_betweenx用于在两条数值区间之间进行填充, 两个函数的参数完全一致。

以fill_between函数为例,用法如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> import numpy as np
>>> x = np.arange(4)
>>> y1 = x + 1
>>> y2 = x -1
>>> plt.fill_between(x, y1, y2)
>>> plt.plot(x, y1, 'go')
>>> plt.plot(x, y2, 'go')
>>> plt.fill_between(x, y1, y2)

输出结果如下

fill_between函数有x, y1, y2这3个基本参数,其中通过(x, y1)指定了第一条水平线,(x, y2)指定了第二条水平线,然后在两个水平线之间进行填充。为了方便理解,在图中用绿色的点标记出了对应的点的位置。

其中,y2参数是有默认值的,其默认值为0, 所以只提供两个参数也是可以的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> plt.fill_between(x, y1)

输出结果如下

在实际使用中,fill_between主要有两种使用场景

1. 添加置信区间

用法如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> N = 21
>>> x = np.linspace(0, 10, 11)
>>> y = [3.9, 4.4, 10.8, 10.3, 11.2, 13.1, 14.1, 9.9, 13.9, 15.1, 12.5]
>>> a, b = np.polyfit(x, y, deg=1)
>>> y_est = a * x + b
>>> y_err = x.std() * np.sqrt(1/len(x) + (x - x.mean())**2 / np.sum((x - x.mean())**2))
>>> plt.plot(x, y , 'o')
>>> plt.plot(x, y_est, '-')
>>> plt.fill_between(x, y_est - y_err, y_est + y_err, alpha = 0.2)

输出结果如下

2. 填充曲线下面积

用法如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> x = np.arange(0.0, 1, 0.005)
>>> y = np.sin(np.pi * x)
>>> plt.fill_between(x, y, alpha = 0.6)
>>> plt.plot(x, y)

输出结果如下

通过fill_between系列函数,可以实现面积填充的功能,无论是绘制置信区间,还是曲线下面积,都可以轻松实现。

·end·

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python求解正态分布置信区间
正态分布(Normal Distribution)又叫高斯分布,是一种非常重要的概率分布。其概率密度函数的数学表达如下:
卡尔曼和玻尔兹曼谁曼
2019/01/25
4.2K0
Python求解正态分布置信区间
Matplotlib 可视化之多图层叠加
填充颜色、设置坐标轴及坐标轴标签。这里重点是颜色填充函数:Axes.fill_between()
数据STUDIO
2022/04/11
2.3K0
Matplotlib 可视化之多图层叠加
使用fill_between颜色为两行之间的区域着色。
import matplotlib.pyplot as plt import numpy as np x = np.arange(0.0, 2, 0.01) y1 = np.sin(2 * np.pi * x) y2 = 0.8 * np.sin(4 * np.pi * x) fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True, figsize=(6, 6)) ax1.fill_between(x, y1) ax1.set_title('fil
裴来凡
2022/05/28
9030
使用fill_between颜色为两行之间的区域着色。
置信区间绘图、以10次平均值为例
https://blog.csdn.net/weixin_39679367/article/details/114631706
嘘、小点声
2021/06/22
7680
数据可视化 | 16个 matplotlib 绘图实用小技巧
matplotlib.pyplot 对象中有个 title() 可以设置表格的标题。
咸鱼学Python
2020/04/08
8370
数据可视化 | 16个 matplotlib 绘图实用小技巧
Python使用matplotlib填充图形指定区域
本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。 import numpy as np import matplotlib.pyplot as plt # 生成模拟数据 x = np.arange(0.0, 4.0*np.pi, 0.01) y = np.sin(x) # 绘制正弦曲线 plt.plot(x, y) # 绘制基准水平直线 plt.plot((x.min(),x.max()), (0,0)) # 设置坐标轴标签 plt.xla
Python小屋屋主
2018/04/16
3.3K0
Python使用matplotlib填充图形指定区域
Python之二项分布、正态分布
上回书说道:二项分布和泊松分布的关系,咱们知道,当n很大p很小的时候,二项分布可以使用泊松分布近似求解,那么咱们今天呢,主要研究二项分布和正态分布之间的“爱恨情仇”,正式开始之前,咱们先回顾先讲一下昨天讲到的二项分布,然后讲解什么是正态分布,如何通过python代码实现图形绘制,接着,咱们讲解一下二项分布转换正态分布求解的条件,通过python来看一下,为什么二项分布在某种条件下是可以转换成正态分布近似求解。
数据山谷
2020/12/08
2.7K0
Matplotlib时间序列型图表(2)
在上一篇文章中,我们了解了时间序列图表的绘制方法,效果如下(滑动以浏览),对以往的工作做个总结。目的就是简化大家代码的书写过程,拓宽绘图方法,为科研和商业绘图提供帮助。
python数据可视化之路
2023/02/23
6760
Matplotlib时间序列型图表(2)
python matplotlib各种绘图类型完整总结
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
Twcat_tree
2022/12/05
6.1K0
python matplotlib各种绘图类型完整总结
Matplotlib绘制的27个常用图(附对应代码实现)
https://nbviewer.jupyter.org/github/matplotlib/AnatomyOfMatplotlib/blob/master/AnatomyOfMatplotlib-Part2-Plotting_Methods_Overview.ipynb
double
2019/11/14
9930
Pytorch贝叶斯深度学习库BLiTZ实现LSTM预测时序数据
本文将主要讲述如何使用BLiTZ(PyTorch贝叶斯深度学习库)来建立贝叶斯LSTM模型,以及如何在其上使用序列数据进行训练与推理。
deephub
2020/05/09
2.9K0
Pytorch贝叶斯深度学习库BLiTZ实现LSTM预测时序数据
用Scipy求解单个正态总体的置信区间
假定参数是射击靶上 10 环的位置,作一次射击,打在靶心 10 环的位置上的可能性很小,但打在靶子上的可能性就很大,用打在靶上的这个点画出一个区间,这个区间包含靶心的可能性就很大,这就是区间估计的基本思想。
用户3577892
2020/09/01
2K0
Matplotlib+Numpy绘图之多种绘图
这里主要是用到了fill_between函数。这个函数很好理解,就是传入x轴的数组和需要填充的两个y轴数组;然后传入填充的范围,用where=来确定填充的区域;最后可以加上填充颜色啦,透明度之类修饰的参数。
mythsman
2022/11/14
9880
Matplotlib+Numpy绘图之多种绘图
气象绘图——折线图
本节提要:不满意最开始那一版的折线图教程,所以进行了这一强化版的撰写。主要针对matplotlib中的折线图,对关键字指令升级梳理,希望能帮助新入门的小伙伴。
自学气象人
2023/06/21
5570
气象绘图——折线图
Python3.0科学计算学习之绘图(三
使用matplotlib的pyplot模块,可以供用户直接使用最重要的绘图命令。多数情况下,我们希望创建一个图形并且立即展示出来,但是有时如果生成要通过更改其属性来修改的图形,就需要用面向对象的方式来处理图形对象。
py3study
2020/01/16
1.3K0
Python3.0科学计算学习之绘图(三
Python Matplotlib库:基本绘图补充
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python Matplotlib库:基本绘图补充 ---- Python Matplotlib库:基本绘图补充 1.引言 2.散点图 3.柱状图 4.火柴图 5.阶梯图 6.填充 ---- 1.引言 上期我们讲了 Matplotlib 库的基本语法,并以折线图为例,绘制了我们的第一幅图表。(参见:Python
小嗷犬
2022/11/15
6260
Python Matplotlib库:基本绘图补充
一种有效自由度的python实现与双尾t检验测试
这里 N 是样本大小,ρXX (j) 和 ρYY (j) 分别是两个采样时间序列 X 和 Y 在时间滞后 j 处的自相关。
用户11172986
2024/06/20
2430
一种有效自由度的python实现与双尾t检验测试
超火动态价格面积图:手把手教你!
近日,公众号推出了一篇名为《超火动态排序图:代码不到40行,手把手教你!》的文章,反向十分强烈。各大公众号进行的了转载,知乎也是有400+的点赞。
量化投资与机器学习微信公众号
2019/12/17
7810
超火动态价格面积图:手把手教你!
【数据可视化包Matplotlib】Matplotlib基本绘图方法
根据 Matplotlib 图像的4层图像结构,pyplot 模块绘制图形基本都遵循一个流程,使用这个流程可以完成大部分图形的绘制。pyplot 模块基本绘图流程主要分为3个部分,如下图所示。
Francek Chen
2025/01/22
3830
【数据可视化包Matplotlib】Matplotlib基本绘图方法
Matplotlib可视化Pyplot Tutorial
MATLAB, and pyplot, have the concept of the current figure and the current axes. All plotting commands apply to the current axes. The function gca() returns the current axes (a matplotlib.axes.Axes instance), and gcf() returns the current figure (matplotlib.figure.Figure instance).
用户2183996
2018/06/28
6620
推荐阅读
相关推荐
Python求解正态分布置信区间
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验