【Python基础绘图】python绘制带有置信区间的折线图

Seaborn绘制具有置信区间的折线图

在这里插入图片描述

01 引言:

当多年份数据绘制折线图时,如何绘制多年均值,且显示置信区间呢?本文利用Seaborn绘制带有置信区间的折线图,记录在此分享给更多有需要的同学。

02 最终效果:

【Python基础绘图】python绘制带有置信区间的折线图_第1张图片

03 代码如下:

# -*- encoding: utf-8 -*-
'''
@File    :   line_demo.py
@Time    :   2022/06/11 16:41:18
@Author  :   HMX 
@Version :   1.0
@Contact :   [email protected]
'''

# here put the import lib
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import time

def cm2inch(x,y): 
    return x/2.54,y/2.54


t1 = time.time()

# 构造数据
np.random.seed(1503)
# 构造单一年份数据
x = np.arange(1,13)
y = np.sin(x)
# 构造十年数据以计算均值和置信区间
year = 10
ys = []
# 利用随机数添加一些误差
for i in range(year):
    ys.append(y+np.random.rand(len(y))+np.random.randint(1,5,size = (len(y),)))
ys = np.asarray(ys).reshape(-1,)
xs = x.tolist()*year

fig,ax1 = plt.subplots(1, 1,figsize=cm2inch(8,6))
sns.lineplot(xs,ys,ax = ax1)
plt.xlim(0,14)
plt.xticks(np.arange(0,15,2))
plt.ylim(0,6)
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.tight_layout() 
plt.savefig(r'D:\公众号\N19\line_demo.png',dpi = 600)

t2 = time.time()
print('共计用时{:.2f}s'.format(t2-t1))
plt.show()

​如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。
欢迎关注公众号【森气笔记】。

你可能感兴趣的:(python基础绘图,python)