python繪制淺色范圍曲線的示例代碼
借鑒: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淺色范圍曲線內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python數據可視化之matplotlib.pyplot基礎以及折線圖
- Python數據分析之 Matplotlib 折線圖繪制
- python數學建模之Matplotlib 實現圖片繪制
- Python時間序列數據的預處理方法總結
- Python 圖形繪制詳細代碼