【Python可视化系列】一文教你绘制带误差线的折线图(案例+源码)

这是我的第308篇原创文章。

一、引言

在日常工作或者科研任务时,经常会通过绘制折线图研究数据的变化趋势,有时候需要在折线图的基础上绘制误差线(标准差范围),本文通过一个具体的案例教你如何实现绘制带误差线的折线图。

二、实现过程

2.1 读取数据

代码:

data = pd.DataFrame({"冬季": [12.17243477, 11.36021739, 18.35030291, 17.15931569, 18.94613472, 16.43750166, 15.37389999, 10.84856549],
                     "春季": [16.36929306,22.83614637,20.4675646,28.12451086,28.131717,26.51940728,19.91029632,17.48587054],
                     "夏季": [20.0074298,16.45617457,19.00976795,30.69691155,29.66009154,26.608055,34.3336493,31.93616728],
                     "秋季": [13.52213184,17.17267811,19.28456754,25.89692456,23.364554,19.29411813,18.39706469,20.87623326]})

结果:

图片

2.2 计算均值和标准差

代码:

std_table = data.std()  # 计算标准差
figdata = data.mean()  # 计算均值

均值和标准差结果:

图片

2.3 绘图

代码:

sns.set(font_scale=1.2)
plt.rc('font',family=['Times New Roman', 'SimSun'], size=12)
plt.errorbar(list(data.columns), figdata, yerr=std_table, fmt='k-o', lw=2, ecolor='k',elinewidth=1, ms=7, capsize=3, label='Chl-a季节平均浓度')
for a, b, c in zip(list(data.columns), figdata, std_table):
    plt.text(a, b+0.5, f'{round(b, 2)}±{round(c, 2)}', ha='center', va='bottom')
plt.xlabel('季节')
plt.ylabel('Chl-a浓度(ug/L)')
plt.legend()
plt.tight_layout()
plt.savefig('Chl-a.jpg', bbox_inches='tight', dpi=600)
plt.show()

结果:

图片

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据杂坛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值