一、代码分享
此处是导入一个文件的代码,如果需要导入多个可以在绘制曲线图之后继续导入,代码和这个一样
import csv
import matplotlib
from matplotlib import pyplot as plt
from matplotlib.pyplot import MultipleLocator
import numpy as np
import pandas as pd
#导入数据
exampleFile = open('results_s.csv') # 打开csv文件
exampleReader = csv.reader(exampleFile) # 读取csv文件
exampleData = list(exampleReader) # csv数据转换为列表
length_zu = len(exampleData) # 得到数据行数
length_yuan = len(exampleData[0]) # 得到每行长度
# 数据读取
x = list()
y = list()
for i in range(1, length_zu): # 从第1行开始读取
x.append(float(exampleData[i][0])) # 将第1列数据从第1行读取到最后一行赋给列表x
y.append(float(exampleData[i][7])) # 将第3列数据从第2行读取到最后一行赋给列表y
# 坐标轴设置
x_major_locator = MultipleLocator(5)
# 把x轴的刻度间隔设置为20,并存在变量里
y_major_locator = MultipleLocator(0.05)
# 把y轴的刻度间隔设置为0.005,并存在变量里
ax = plt.gca()
# ax为两条坐标轴的实例
ax.xaxis.set_major_locator(x_major_locator)
# 把x轴的主刻度设置为20的倍数
ax.yaxis.set_major_locator(y_major_locator)
# 把y轴的主刻度设置为0.2的倍数
plt.xlim(0, 100)
# 把x轴的刻度范围设置为0到170
plt.ylim(0.2, 1)
# plt.yticks([0.86,0.88,0.90,0.92,0.94,0.96,0.98,1.00])
# 把y轴的刻度范围设置为0.975到1.00
# 绘制曲线图
plt.plot(x, y, label='results_s', c='green')
# X,Y轴标签
plt.xlabel("epoch", fontsize=14)
plt.ylabel("metrics/mAP_0.5:0.95", fontsize=14)
plt.title("metrics/mAP_0.5:0.95", fontsize=14)
plt.legend()
plt.show()