新闻动态

python绘制浅色范围曲线的示例代码

发布日期:2021-12-27 10:56 | 文章来源:源码之家

借鉴:python绘制lost(损失)曲线 加 方差范围

直接上效果图:

上代码:

import re
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import shutil
import os
import math
sns.set_style('whitegrid')
 
path=r"F:\pycharm\class\20211008\alexnet_7class_srcData.csv"#数据的路径
#读取csv文件
csvfile = open(path, 'r')
plots = csv.reader(csvfile)
r1=[]
r2=[]
r3=[]
#将每一列数据表示一组,将数据分组存放
#row是按行读取,每一行有三个数据,分别存放
for row in plots:
 r1.append(round(float(row[0]),3))
 r2.append(round(float(row[1]),3))
 r3.append(round(float(row[2]),3))
 
#求均值
avg=[]
for i in range(len(r1)):
 avg.append(round((r1[i]+r2[i]+r3[i])/3,3))
 
#求方差
var=[]
for i in range(len(r1)):
 var.append(((r1[i]-avg[i])**2+(r2[i]-avg[i])**2+(r3[i]-avg[i])**2)/3)
 
#求标准差
std=[]
for i in range(len(r1)):
 std.append(math.sqrt(var[i]))
#通过该公式算出平均值+-标准差的曲线,便于后面范围曲线的描绘
r1 = list(map(lambda x: x[0]-x[1], zip(avg, std)))
r2 = list(map(lambda x: x[0]+x[1], zip(avg, std)))
plt.rcParams["figure.figsize"] = (15,10)
plt.plot(r1)
plt.plot(r2)
plt.legend(['范围曲线'],fontsize=30)
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.xlabel('Epoch Number',fontsize=20)
plt.ylabel('Accuracy',fontsize=20)
plt.ylim(0, 20)
plt.show()

#横坐标由于fill_between函数
x=[]
for i in range(300):
  x.append(i+1)
 
# import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (15,10)
plt.plot(avg)
plt.fill_between(x,r1, r2, color=cm.viridis(0.5), alpha=0.2)
plt.legend(['avg'],fontsize=30)
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.xlabel('Epoch Number',fontsize=20)
plt.ylabel('Accuracy',fontsize=20)
plt.ylim(0, 20)
plt.show()

到此这篇关于python绘制浅色范围曲线的文章就介绍到这了,更多相关python浅色范围曲线内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部