我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【python】plt.plot() 函数绘制loss曲线

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【python】plt.plot() 函数绘制loss曲线

目录

一.  数据形式 (输入数据)

二.  绘图(完整代码)

三.  plt.plot() 函数 (调整图形)

1. plt.plot(x, y) 

2. plt.plot(x, y, "格式控制字符串")

2.1 "颜色"与"线型"

2.2 "点型"

 3. plt.plot(x, y, "格式控制字符串", 关键字=参数)


一.  数据形式 (输入数据)

训练过程中每个epoch都输出当前轮结果,输出数据保存在.txt文件,形式如下:

因为只是举个例子,只用30张图跑了5个epoch,不过数值不重要!过程先搞明白。

#每个epoch都输出当前轮结果print("epoch[%d/%d],train_loss,%.4f,train_acc,%.4f,train_miou,%.4f,eval_loss,%.4f,eval_acc,%.4f,eval_miou,%.4f,lr,%.6f,time,%ds" %              (epoch + 1, EPOCHES, epoch_loss, epoch_acc, epoch_miou, val_loss, val_acc, val_miou, learning_rate, time.time() - st_epoch))#输出结果形式epoch[1/5],train_loss,3.0900,train_acc,0.0190,train_miou,0.0046,eval_loss,3.0398,eval_acc,0.0438,eval_miou,0.0075,lr,0.000005,time,23sepoch[2/5],train_loss,2.9437,train_acc,0.0667,train_miou,0.0090,eval_loss,2.9367,eval_acc,0.1133,eval_miou,0.0082,lr,0.000005,time,25sepoch[3/5],train_loss,2.8345,train_acc,0.1875,train_miou,0.0141,eval_loss,2.8379,eval_acc,0.2588,eval_miou,0.0087,lr,0.000005,time,25sepoch[4/5],train_loss,2.7256,train_acc,0.3285,train_miou,0.0163,eval_loss,2.7290,eval_acc,0.4454,eval_miou,0.0072,lr,0.000005,time,24sepoch[5/5],train_loss,2.6142,train_acc,0.5298,train_miou,0.0167,eval_loss,2.6255,eval_acc,0.5811,eval_miou,0.0032,lr,0.000005,time,27s

二.  绘图(完整代码)

  1. 逐行读取数据
  2. split()按所给符号分割
  3. 把所需列的数据按索引添加到对应的表里
  4. 用plt画图,需要什么形式的图,函数的参数可以参考第三部分函数介绍自行更改
#完整代码import matplotlib.pyplot as pltfile = open('log.txt')  #打开文档lines = file.readlines() #读取文档数据#epoch = list(1, range(len(lines))+1) #epoch可以直接赋值,不放心的就用下面epoch的代码epoch = []train_loss = []val_loss = []for line in lines:# split用于将每一行数据用自定义的符号(我用的是逗号)分割成多个对象    # 取分割后的第0列,转换成float格式后添加到epoch列表中    epoch.append(str(line.split(',')[0]))    # 取分割后的第2列,转换成float格式后添加到train_loss列表中    train_loss.append(float(line.split(',')[2]))    #取分割后的第8列,转换成float格式后添加到val_loss列表中    val_loss.append(float(line.split(',')[8]))plt.figure()         plt.title('loss during training')  #标题plt.plot(epoch, train_loss, label="train_loss")plt.plot(epoch, val_loss, label="valid_loss")plt.legend()plt.grid()plt.show()

输出结果:

三.  plt.plot() 函数 (调整图形)

matplotlib.pyplot模块下的一个函数, 用于画图。它可以绘制点和线, 并且对其样式进行控制。

函数定义为plt.plot(*args, **kwargs)

import matplotlib.pyplot as plthelp(plt.plot) # 查看英文函数定义
  • *args, 可变位置参数, 以元组形式存放了很多无名参数.
  • **kwargs, 可变关键字参数, 以字典形式存放了很多关键字及参数. 调用时可传入
  • *args要放在**kwargs之前.
  • 本函数的*args, 允许传入多对x和y和一个可选的"格式控制字符串".
  • 本函数的**kwargs, 允许传入多个可选的关键字参数.

1. plt.plot(x, y) 

  • x为x轴数据, y为y轴数据。
  • x, y可传入(元组), [列表], np.array, pd.Series。
  • 也可同时传入多组。
import matplotlib.pyplot as pltimport numpy as npimport pandas as pd#示例一:x为x轴数据, y为y轴数据x=[3,4,5] # [列表]y=[2,3,2] # x,y元素个数N应相同plt.plot(x,y)plt.show()#示例二:x, y可传入(元组), [列表], np.array, pd.Seriesx=(3,4,5) # (元组)y1=np.array([3,4,3]) # np.arrayy2=pd.Series([4,5,4]) # pd.Seriesplt.plot(x,y1)plt.plot(y2)  # x可省略,默认[0,1..,N-1]递增plt.show() # plt.show()前可加多个plt.plot(),画在同一张图上#示例三:可传入多组x, yx=(3,4,5)y1=np.array([3,4,3])y2=pd.Series([4,5,4])plt.plot(x,y1,x,y2) # 此时x不可省略plt.show()

 结果示例:

2. plt.plot(x, y, "格式控制字符串")

点和线的格式可以用"格式控制字符串"设置,"最多可以包括三部分, "颜色", "点型", "线型"。

2.1 "颜色"与"线型"

如果只控制"颜色", 格式控制字符串还可以输入英文全称, 如"red", 甚至是十六进制RGB字符串, 如"#FF0000". python可用的"颜色"大全

    =============    ===============================    character        color    =============    ===============================    ``'b'``          blue 蓝    ``'g'``          green 绿    ``'r'``          red 红    ``'c'``          cyan 蓝绿    ``'m'``          magenta 洋红    ``'y'``          yellow 黄    ``'k'``          black 黑    ``'w'``          white 白    =============    ===============================
    =============    ===============================    character        description    =============    ===============================    ``'-'``          solid line style 实线    ``'--'``         dashed line style 虚线    ``'-.'``         dash-dot line style 点画线    ``':'``          dotted line style 点线    =============    ===============================
#示例import numpy as npimport pandas as pdimport matplotlib.pyplot as pltcolor=['b','g','r','c','m','y','k','w']linestyle=['-','--','-.',':']dic1=[[0,1,2],[3,4,5]]x=pd.DataFrame(dic1)dic2=[[2,3,2],[3,4,3],[4,5,4],[5,6,5]]y=pd.DataFrame(dic2)# 循环输出所有"颜色"与"线型"for i in range(2):    for j in range(4):        plt.plot(x.loc[i],y.loc[j],color[i*4+j]+linestyle[j]) plt.show()

输出结果: 

2.2 "点型"

    =============    ===============================    character        description    =============    ===============================    ``'.'``          point marker    ``','``          pixel marker    ``'o'``          circle marker    ``'v'``          triangle_down marker    ``'^'``          triangle_up marker    ``'<'``          triangle_left marker    ``'>'``          triangle_right marker    ``'1'``          tri_down marker    ``'2'``          tri_up marker    ``'3'``          tri_left marker    ``'4'``          tri_right marker    ``'s'``          square marker    ``'p'``          pentagon marker    ``'*'``          star marker    ``'h'``          hexagon1 marker    ``'H'``          hexagon2 marker    ``'+'``          plus marker    ``'x'``          x marker    ``'D'``          diamond marker    ``'d'``          thin_diamond marker    ``'|'``          vline marker    ``'_'``          hline marker    =============    ===============================
#示例import numpy as npimport pandas as pdimport matplotlib.pyplot as pltmarker=['.',',','o','v','^','<','>','1','2','3','4','s','p','*','h','H','+','x','D','d','|','_','.',',']dic1=[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17]]x=pd.DataFrame(dic1)dic2=[[2,3,2.5],[3,4,3.5],[4,5,4.5],[5,6,5.5]]y=pd.DataFrame(dic2)# 循环输出所有"点型"for i in range(6):    for j in range(4):        plt.plot(x.loc[i],y.loc[j],"b"+marker[i*4+j]+":") # "b"蓝色,":"点线plt.show()

 3. plt.plot(x, y, "格式控制字符串", 关键字=参数)

本函数的**kwargs, 允许传入多个可选的关键字参数

#示例y=[2,3,2,4,5] # 青色,线宽10,星星,点尺寸50,点填充绿色,点边缘宽度6,点边缘青色plt.plot(y,color="c",linewidth=10,marker="*",markersize=20,         markerfacecolor="g",markeredgewidth=3,markeredgecolor="c")plt.show()

函数用法是总结的这篇文章matplotlib.pyplot.plot()参数详解两篇

python中的颜色表

来源地址:https://blog.csdn.net/m0_70813473/article/details/129838384

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【python】plt.plot() 函数绘制loss曲线

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

用Python绘制正弦曲线

今天学了Python 绘制了一幅正弦曲线 哈哈需要numpy  Python 库的支持>>>import numpy as np >>> import matplotlib.pyplot as plt >>> x=np.arange(-np
2023-01-31

Python实现绘制多种激活函数曲线详解

所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。这篇文章主要介绍了Python如何实现绘制多种激活函数曲线,希望对大家有所帮助
2023-05-16

Python中ROC曲线怎么绘制

本篇内容介绍了“Python中ROC曲线怎么绘制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先以支持向量机模型为例先导入需要使用的包,我
2023-06-22

怎么用R语言绘制函数曲线图

这篇文章主要讲解了“怎么用R语言绘制函数曲线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用R语言绘制函数曲线图”吧!函数曲线图是研究函数的重要工具。R 中 curve() 函数可以绘
2023-06-08

Python中怎么绘制各种曲线

本篇文章为大家展示了 Python中怎么绘制各种曲线,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python 代码如下:import numpy as np import matplotlib.
2023-06-15

使用R语言怎么绘制函数曲线图

这期内容当中小编将会给大家带来有关使用R语言怎么绘制函数曲线图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。R 中 curve() 函数可以绘制函数的图像,代码格式如下:curve(expr, from
2023-06-15

怎么利用Python绘制科赫曲线

本篇内容主要讲解“怎么利用Python绘制科赫曲线”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Python绘制科赫曲线”吧!1. 递归1.1 定义函数作为一种代码封装, 可以被其他程序
2023-06-30

MATLAB怎么用数据绘制曲线图

要使用MATLAB绘制曲线图,可以按照以下步骤进行:1. 准备数据:首先,准备好要绘制的数据。可以是向量、矩阵或表格数据。2. 创建曲线图:可以使用`plot`函数创建曲线图。该函数的语法是`plot(x, y)`,其中`x`是自变量的值,
2023-10-08

怎么使用Python+NumPy绘制常见曲线

这篇“怎么使用Python+NumPy绘制常见曲线”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Python+Num
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录