首页 > 编程语言 >CV-Python画曲线图

CV-Python画曲线图

时间:2023-11-07 10:35:20浏览次数:41  
标签:plt 曲线图 Python float DPF file y1 CV append

import matplotlib.pyplot as plt
import numpy as np

from scipy.interpolate import make_interp_spline





def readLoss(path, x, y):
    i = 0
    y.append(float(0))
    x.append(float(0))
    with open(path, "r", encoding='utf-8') as file:  
        datas = file.readlines()
        for data in datas:
            i = i + 1
            x.append(i)
            y.append(float(data))

    #x = np.array(x)
    #y = np.array(y)
    file.close()
    #return x, y




if __name__=="__main__":
    print("asd")
    y1 = []
    x1 = []
    #x1, y1 = readLoss("DPF.txt", x1, y1)
    i = 0
    y1.append(float(0))
    x1.append(float(0))
    with open("DPF.txt", "r", encoding='utf-8') as file:  
        datas = file.readlines()
        for data in datas:
            i = i + 1
            x1.append(i)
            y1.append(float(data))
    file.close()
   
    y2 = []
    x2 = []
    x2, y2 = readLoss("DPF-DWT-50.txt", x2, y2)

    y3 = []
    x3 = []
    x3, y3 = readLoss("DPF-perc-L1.txt", x3, y3)

    y4 = []
    x4 = []
    x4, y4 = readLoss("DPF-perc-ssim-L1.txt", x4, y4)
    
    plt.figure()
    plt.plot(x1, y1, label='DPF')
    plt.plot(x2, y2, label='DPF-DWT-50')
    plt.plot(x3, y3, label='DPF-perc-L1')
    plt.plot(x4, y4, label='DPF-perc-ssim-L1')

    plt.xlabel('Epochs')
    plt.ylabel('PSNR')
    plt.title('Loss Function Comparison')
    plt.legend()
    plt.savefig("Loss.png")


    
    #x = np.array(x)
    #y = np.array(y)
    #X_Y_Spline = make_interp_spline(x, y)
    #X_ = np.linspace(x.min(), x.max(), 100)
    #Y_ = X_Y_Spline(X_)

    #plt.xlim(0, 50)
    #plt.ylim(17, 22)
    

标签:plt,曲线图,Python,float,DPF,file,y1,CV,append
From: https://www.cnblogs.com/starcos/p/17814445.html

相关文章

  • 神经网络基础篇:关于 python_numpy 向量的说明(A note on python or numpy vectors)
    关于python_numpy向量的说明主要讲Python中的numpy一维数组的特性,以及与行向量或列向量的区别。并说一下在实际应用中的一些小技巧,去避免在coding中由于这些特性而导致的bugPython的特性允许使用广播(broadcasting)功能,这是Python的numpy程序语言库中最灵活的地方。而本人认为......
  • 神经网络基础篇:Python 中的广播(Broadcasting in Python)
    Python中的广播这是一个不同食物(每100g)中不同营养成分的卡路里含量表格,表格为3行4列,列表示不同的食物种类,从左至右依次为苹果,牛肉,鸡蛋,土豆。行表示不同的营养成分,从上到下依次为碳水化合物,蛋白质,脂肪。那么,现在想要计算不同食物中不同营养成分中的卡路里百分比。现在计算苹......
  • 升级linux下的python版本(3.10.11)
    以centos7为例将python升级到3.10.11一、安装必备软件包##第一步基础包yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-devellibpcap-develxz-develgcc##第二步安装db4-devel,必先安装epel-releasey......
  • 【python爬虫】80页md笔记0基础到scrapy项目高手,第(4)篇:requests和网络数据获取进阶
    本阶段主要学习requests这个http模块,该模块主要用于发送请求响应,该模块有很多的替代模块,比如说urllib模块,但是在工作中用的最多的还是requests模块,requests的代码简洁易懂,相对于臃肿的urllib模块,使用requests编写的爬虫代码将会更少,而且实现某一功能将会简单。因此建议大家掌握该......
  • python3使用sqlite3构建本地持久化缓存
    环境:Windows10_x64python版本:3.9.2sqlite3版本:3.34.0日常python开发中会遇到数据持久化的问题,今天记录下如何使用sqlite3进行数据持久化,并提供示例代码及数据查看工具。一、背景描述python应用程序在运行过程中被kill掉(比如版本升级等情况),内存中的运行数据将会丢失,如果能够......
  • OpenCV 最容易传错参数的两组Mat构造函数
    Mat构造函数中有两组函数传参特别容易传错,分别是:publicMat(introws,intcols,MatTypetype)publicMat(OpenCvSharp.Sizesize,MatTypetype)稍不注意,我们会认为下面两个mat尺寸相等,varm1=newMat(10,20,MatType.CV_8UC1);varm2=newMat(newOpenCvSharp.Size......
  • Python 利用pandas和matplotlib绘制双柱状图
    在数据分析和可视化中,常用的一种图形类型是柱状图。柱状图能够清晰地展示不同分类变量的数值,并支持多组数据进行对比。本篇文章将介绍如何使用Python绘制双柱状图。准备工作在开始绘制柱状图之前,需要先安装matplotlib和pandas这两个Python库。可以通过pip安装:pipinstallmatp......
  • 【Python基础练习】实验3:列表、字典、集合
    实验3:列表、字典、集合姓名:萌狼蓝天时间:2023年11月6日Python:3.12博客:https://wwww.mllt.cc实验目的(1)了解列表、元组、字典和集合的概念(2)学习列表、元组、字典和集合对象的创建(3)学习列表、元组、字典和集合函数的使用实验内容及原理1.已有列表lst=[1,2,3,4],lst2=l......
  • python--------------paramiko远程控制模块学习
    importparamikodefsshExeCMD():ssh_client=paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_client.connect(hostname="192.168.8.200",port=22,username="root",password="123")stdi......
  • Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
    文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。文件处理在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。有四种不同的方法(模式)可以打开文件:"r"-读取-默认值。打开一个文件以进行读取,如果文......