本文用于绘制性能折线图,适用于对比实验,发现很多博文都是收费,欺负哥们懒得学习,一气之下ai了一下再进行代码修改,免费供给大家学习参考,便于大家撰写论文数据时利于绘制图像。

import pandas as pd
import matplotlib.pyplot as plt # 读取CSV文件,替换成自己的绝对路径
datav12_cdm = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v12n-cdm/results.csv')
datav12n = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v12n/results.csv')
datav11n = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v11n/results.csv')
datav10n = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v10n/results.csv')
datav8n = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v8n/results.csv')
datav6n = pd.read_csv('/mnt/user/qianzhu/YOLO/v12/yolov12-main/results/v6n/results.csv') # 单独获取每个模型的metrics/mAP50-95(B)列的数据
v12_cdm = datav12_cdm['metrics/mAP50-95(B)']
v12 = datav12n['metrics/mAP50-95(B)']
v11 = datav11n['metrics/mAP50-95(B)']
v10 = datav10n['metrics/mAP50-95(B)']
v8 = datav8n['metrics/mAP50-95(B)']
v6 = datav6n['metrics/mAP50-95(B)'] # 获取epochs列的数据,并从第20个数据开始取值每隔20个epochs取一次;训练的mAP50-95(B也是同理
epochs = datav12_cdm['epoch'][19::20]
v12cdmd = v12_cdm[19::20]
v12d = v12[19::20]
v11d = v11[19::20]
v10d = v10[19::20]
v8d = v8[19::20]
v6d = v6[19::20] # 绘制折线图,如果需要改动自己去查一下这个plt.plot函数中的参数怎么设置
plt.plot(epochs, v12cdmd, label='YOLOv12n-CDM(our)', marker='o',color='c')
plt.plot(epochs, v12d, label='YOLOv12n', color='green',linestyle='--',alpha=0.8)
plt.plot(epochs, v11d, label='YOLOv11n', color='blue',linestyle='--',alpha=0.8)
plt.plot(epochs, v10d, label='YOLOv10n',color='black',linestyle='--',alpha=0.8)
plt.plot(epochs, v8d, label='YOLOv8n',color='yellow',linestyle='--',alpha=0.8)
plt.plot(epochs, v6d, label='YOLOv6n', color='red',linestyle='--',alpha=0.8) #设置图标题,x坐标名字,y坐标名字
plt.title('Object Detection')
plt.xlabel('epochs')
plt.ylabel('map50-95(B)') # 添加图例,在右下角,默认在左上角
plt.legend(loc='lower right') # 设置网格线
plt.grid(True) # 保存图像到同目录下,换成自己要保存的名字,也可以使用绝对路径进行存储
plt.savefig('20.png')

最终效果:

性能对比实验折线图绘制代码(YOLO系列为例)的更多相关文章

  1. qt外部数据传入实现动态的折线图绘制

    在嵌入式开发中,实现数据收集与显示很常见,对于希望数据稳定的应用来说,               折现图的表现形式很符合条件.               本实现是通过qt的signal-slot来 ...

  2. Python_散点图与折线图绘制

    在数据分析的过程中,经常需要将数据可视化,目前常使用的:散点图  折线图 需要import的外部包  一个是绘图 一个是字体导入 import matplotlib.pyplot as plt fro ...

  3. 使用achartengine实现自定义折线图 ----附代码 调试OK

    achartengine作为android开发中最常用的实现图标的开源框架,使用比较方便,参考官方文档谢了如下Demo,实现了自定义折线图. package edu.ustb.chart; impor ...

  4. [Python Study Notes]折线图绘制

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  5. JAVA Swing使用JFreeChart实现折线图绘制

    效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...

  6. OpenGL——折线图柱状图饼图绘制

    折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...

  7. 利用python进行折线图,直方图和饼图的绘制

    我用10个国家某年的GDP来绘图,数据如下: labels   = ['USA', 'China', 'India', 'Japan', 'Germany', 'Russia', 'Brazil', ...

  8. php中用GD绘制折线图

    php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...

  9. html5绘制折线图

    html5绘制折线图详细代码 <html> <canvas id="a_canvas" width="1000" height="7 ...

  10. Python绘制折线图

    一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...

随机推荐

  1. 【高清视频方案分享】12G-SDI与CameraLink输入输出,基于RK3588J+FPGA工业平台

    CameraLink协议介绍 CameraLink是一种用于机器视觉和工业成像应用的标准化数字接口协议.它由自动化成像协会(Automated Imaging Association)开发,旨在解决传 ...

  2. PostgreSQL 初始化配置设置

    title: PostgreSQL 初始化配置设置 date: 2024/12/27 updated: 2024/12/27 author: cmdragon excerpt: PostgreSQL是 ...

  3. Qt/C++原创项目作品精选(祖传原创/性能凶残)

    00 前言说明 从事Qt开发十年有余,一开始是做C#.NET开发的,因为项目需要,转行做嵌入式linux开发,在嵌入式linux上做可视化界面开发一般首选Qt,当然现在可选的方案很多比如安卓,但是十多 ...

  4. Qt开源作品9-扁平化样式flatui

    一.前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反 ...

  5. 树莓派Zero OLED屏幕转接板

    买了个树莓派Zero,emmm,拿到手后感觉很精巧,但是总是感觉少了什么.于是... 瞎吹一波:不得不说嘉立创公司确实给力,一条龙服务而且价格太便宜了. 焊接组装上机测试,OK! 其实这个过程中坑也踩 ...

  6. manim边做边学--动画更新

    今天介绍Manim中用于动画更新的3个类,分别是: UpdateFromFunc:根据自定义的函数来动态更新 Mobject 的属性 UpdateFromAlphaFunc:根据动画的进度来平滑地改变 ...

  7. CDS标准视图:功能位置种类描述 I_FlocCategoryText

    视图名称:功能位置种类描述 I_FlocCategoryText 视图类型:基础 视图代码: 点击查看代码 @EndUserText.label: 'Functional Location - Tex ...

  8. 《深入理解Mybatis原理》Mybatis中的缓存实现原理

    一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话. 在对数据库的一次会话中, ...

  9. 项目PMP之五项目范围管理

    项目PMP之五--项目范围管理   一.定义:确保项目做且只做所需的工作:范围包括产品范围(特性和功能)和项目范围(交付产品所需完成的工作) 适应型生命周期:相关方持续参与,应对大量变更(敏捷),实时 ...

  10. MYSQL查询7天内、7月内的所有日期

    select DATE_SUB(CURDATE(), INTERVAL 6 DAY) ; SELECT date_add( date_sub( ( SELECT DATE_SUB( curdate( ...