python绘制带置信区间的折线图

您所在的位置:网站首页 置信区间怎么画图 python绘制带置信区间的折线图

python绘制带置信区间的折线图

2024-01-18 08:01| 来源: 网络整理| 查看: 265

本文目录 一、数据准备二、添加置信区间三、完整代码四、运行结果五、Python绘图往期系列文章目录

在统计学和数据分析领域中,我们常常需要比较两个或多个样本数据之间的差异。而带置信区间的折线图则是一种直观且常用的展示数据差异的方式。在这篇文章中,我们将讲解如何使用 Python 和 Matplotlib 绘制一组带置信区间的折线图。

在本文中,我们将使用 numpy 模块生成随机数据,并使用 matplotlib 库实现数据可视化。具体而言,我们将绘制两组随机温度数据的折线图,并为每条折线添加置信区间。

一、数据准备

我们首先需要准备一些数据来绘制折线图。在这里,我们将生成两组随机气温数据和对应的标准误差:

import numpy as np # 生成 x 坐标轴数据,表示时间范围 x = np.arange(0, 365) # 生成两组随机气温数据和标准误差 temp_beijing = np.random.normal(15, 5, 365) se_beijing = np.random.normal(1, 0.3, size=365) temp_shanghai = np.random.normal(18, 4, 365) se_shanghai = np.random.normal(0.8, 0.2, size=365) 二、添加置信区间

在统计学中,我们经常使用置信区间来表示样本的真实均值可能存在的范围。而在带置信区间的折线图中,每个数据点周围的一段区间即是该点的置信区间。

具体而言,我们可以使用 fill_between() 函数为折线添加置信区间。在这里,我们使用 95% 的置信水平,即对应于 1.96 个标准误差:

# 绘制带置信区间的折线图 fig, ax = plt.subplots(figsize=(10,6),dpi=300) ax.plot(x, temp_1, color='red', label='City A') ax.plot(x, temp_2, color='blue', label='City B') ax.fill_between(x, temp_beijing-1.96*se_beijing, temp_beijing+1.96*se_beijing, alpha=0.2, color='red') ax.fill_between(x, temp_shanghai-1.96*se_shanghai, temp_shanghai+1.96*se_shanghai, alpha=0.2, color='blue') 三、完整代码 import numpy as np import matplotlib.pyplot as plt font = {'family':'Times New Roman','size':24} # 定义 x 坐标轴的数据 x = np.arange(1, 32) # 定义两组气温数据以及对应的标准误差 temp_1 = np.random.normal(25, 3, 31) se_1 = np.random.normal(1, 0.3, size=31) temp_2 = np.random.normal(28, 4, 31) se_2 = np.random.normal(0.8, 0.2, size=31) # 绘制带置信区间的折线图 fig, ax = plt.subplots(figsize=(10,6),dpi=300) ax.plot(x, temp_1, color='red', label='City A') ax.plot(x, temp_2, color='blue', label='City B') # 绘制置信区间 ax.fill_between(x, temp_1-1.645*se_1, temp_1+1.645*se_1, alpha=0.2, color='green') ax.fill_between(x, temp_2-1.645*se_2, temp_2+1.645*se_2, alpha=0.2, color='blue') # 设置图形标题和坐标轴标签 # plt.title('Average daily urban temperature change',font) plt.xlabel('Day', font) plt.ylabel('Temperature(℃)', font) # 配置图例,将其放置在底部中央 plt.legend(loc='best', ncol=2, fontsize=18) # 配置字体和字号 plt.rcParams['font.sans-serif'] = ['Times New Roman'] # 设置字体 plt.rcParams['font.size'] = 24 # 设置字号为 24 # 显示图形 plt.show() 四、运行结果

在这里插入图片描述

五、Python绘图往期系列文章目录

往期Python绘图合集: 1、Python绘制简单的折线图 2、Python读取excel中数据并绘制多子图多组图在一张画布上 3、Python绘制带误差棒的柱状图 4、Python绘制多子图并单独显示 5、Python读取excel数据并绘制多y轴图像 6、Python绘制柱状图并美化|不同颜色填充柱子 7、Python随机生成数据并用双y轴绘制两条带误差棒的折线图 8、Python绘制带误差棒的柱状图渐变色填充含数据标注(进阶) 9、Python绘制散点图|散点大小和颜色深浅由数值决定 10、Matplotlib绘制漂亮的饼状图|python绘制漂亮的饼状图 11、Python读取excel数据并用双y轴绘制柱状图和折线图,柱子用渐变颜色填充 12、Python批量修改图片格式|python批量给图片增加水印|python批量给图片大小 13、Python绘制气泡图|随机生成数据 14、Python绘制密度图 15、Python绘制带置信区间的折线图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3