性能对比实验折线图绘制代码(YOLO系列为例)
本文用于绘制性能折线图,适用于对比实验,发现很多博文都是收费,欺负哥们懒得学习,一气之下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系列为例)的更多相关文章
- qt外部数据传入实现动态的折线图绘制
在嵌入式开发中,实现数据收集与显示很常见,对于希望数据稳定的应用来说, 折现图的表现形式很符合条件. 本实现是通过qt的signal-slot来 ...
- Python_散点图与折线图绘制
在数据分析的过程中,经常需要将数据可视化,目前常使用的:散点图 折线图 需要import的外部包 一个是绘图 一个是字体导入 import matplotlib.pyplot as plt fro ...
- 使用achartengine实现自定义折线图 ----附代码 调试OK
achartengine作为android开发中最常用的实现图标的开源框架,使用比较方便,参考官方文档谢了如下Demo,实现了自定义折线图. package edu.ustb.chart; impor ...
- [Python Study Notes]折线图绘制
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- JAVA Swing使用JFreeChart实现折线图绘制
效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...
- OpenGL——折线图柱状图饼图绘制
折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...
- 利用python进行折线图,直方图和饼图的绘制
我用10个国家某年的GDP来绘图,数据如下: labels = ['USA', 'China', 'India', 'Japan', 'Germany', 'Russia', 'Brazil', ...
- php中用GD绘制折线图
php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...
- html5绘制折线图
html5绘制折线图详细代码 <html> <canvas id="a_canvas" width="1000" height="7 ...
- Python绘制折线图
一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...
随机推荐
- 一个.NET开源、易于使用的屏幕录制工具
前言 一款高效.易用的屏幕录制工具能够极大地提升我们的工作效率和用户体验,今天大姚给大家分享一个.NET开源.免费.易于使用的屏幕录制工具:Captura. 工具介绍 Captura是一款基于.NET ...
- shell内置字符串替换
shell变量赋值语法: 使用规则 解释单引号 所见即所得,即输出时会将单引号内的所有內容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,这称为强引用双引号 (默认) 输出双引号内的所有内容 ...
- spring boot 启动原理解析
https://www.cnblogs.com/xiaoxi/p/7999885.html 我们开发任何一个Spring Boot项目,都会用到如下的启动类 1 @SpringBootApplicat ...
- docker容器内使用sudo 报错bash: sudo: command not found
解决办法: 先查看linux系统版本: cat /proc/version 1.RedHat系主要有RedHat,Fedora,CentOs等: RedHat系列的包管理工具是yum,执行 yum i ...
- Fastadmin框架,服务器搭建环境
FastAdmin 基于ThinkPHP和Bootstrap的极速后台开发框架 https://www.fastadmin.net 安装node.js 1.获取node.js资源 V8.x: curl ...
- Qt数据库应用3-数据打印到pdf
一.前言 自从数据可以导出到xls,又有客户提出了不同的需求,比如既然可以将数据导出到xls,那是否可以导出到pdf文件呢?因为xls打开以后用户可以修改数据造假之类的,而pdf默认是不可编辑的,除非 ...
- 关于Qt选择qml还是widget的深度思考
在Qt界始终有两大阵营产生激烈的纷争,那就是选用qml还是widget好,大量初学者也会问这个问题,有以下几点总结. widget属于传统界面开发,和VB/VC/Delphi等拖曳控件开发类似,走CP ...
- Qt音视频开发20-海康sdk本地播放
一.前言 海康sdk中包含了MP4解码播放库,对应的API函数都是PlayM4开头的,顾名思义播放MP4,海康的视频默认可以保存成MP4文件,可以用通用的播放器来播放,这就是为啥前面好多篇文章讲到的各 ...
- 老生常谈——分布式限流:部分Sentinal源码解读
基础知识 HTTP CODE = 429 "请求过多" A. 限流的类型 服务端 客户端 限流的标的 IP 用户 ... 基本要求 准确限制过量的请求. 低延时.限流器不能拖慢HT ...
- vue基础4
Q:1.动画的使用方法以及动画库的使用方式 2.vue中的指令有哪些? 3.vue中生命周期钩子函数有哪些?分别代表什么含义? 4.filter的语法是什么? 5.computed的特点是什么? 6. ...