Python绘制表格数据线性对比图

本文介绍了如何使用Python代码生成算法训练结果的线性结果对比图,适用于论文中展示实验效果。

import matplotlib.pyplot as plt
import pandas as pd

# 配置 matplotlib 以显示中文字符并处理负号
plt.rcParams['font.sans-serif'] = ['SimSun']  # 使用宋体字体
plt.rcParams['axes.unicode_minus'] = False    # 确保负号正常显示

# 读取 CSV 文件
df1 = pd.read_csv(r"数据结果1.csv") #自己的数据结果表格文件
df2 = pd.read_csv(r"数据结果2.csv")

# 去除列名中的空格
df1.columns = df1.columns.str.strip()
df2.columns = df2.columns.str.strip()

# 提取数据
epoch_1 = df1["epoch"].values.tolist()
mAP5_1  = df1["metrics/mAP50(B)"].values.tolist()

epoch_2 = df2["epoch"].values.tolist()
mAP5_2  = df2["metrics/mAP50(B)"].values.tolist()

# 绘制结果
plt.figure(figsize=(8, 5))
plt.plot(epoch_1, mAP5_1, color='red', linestyle='--', label='原始算法')
plt.plot(epoch_2, mAP5_2, color='black', label='改进算法')

# 配置坐标轴和标签
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)

plt.ylim(0, 1)  # 设置 y 轴范围
plt.xlim(0, 50)  # 设置 x 轴范围
plt.xlabel('epochs', fontsize=14)
plt.ylabel('mAP_0.5', fontsize=14)

# 设置刻度线在坐标轴内部
plt.tick_params(axis='both', which='both', direction='in')

# 添加图例
plt.legend(fontsize=12, loc="best")  # 设置图例的位置和大小

# 保存并显示图像
plt.savefig("result.png", bbox_inches='tight')
plt.show()

你可能感兴趣的:(python,数据分析)