问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matplotlib绘制高质量论文数据图详解

创作时间:
作者:
@小白创作中心

Matplotlib绘制高质量论文数据图详解

引用
CSDN
1.
https://blog.csdn.net/flyconley/article/details/121466061

Matplotlib是Python中最流行的数据可视化库之一,支持跨平台运行。它通常与NumPy和Pandas一起使用,是数据分析中不可或缺的重要工具。本文将通过具体示例,详细介绍如何使用Matplotlib绘制高质量的论文数据图。

基本概念

在使用Matplotlib绘制图表之前,了解一些基本概念是非常有帮助的:

  • Figure:画板
  • Title:标题
  • X axis label:X轴标签
  • Y axis label:Y轴标签
  • Legend:图例
  • Major tick label:主刻度标签
  • Minor tick label:次刻度标签
  • Grid:网格
  • Line (line plot):线
  • Markers (scatter plot):标记
  • Major tick:主刻度
  • Minor tick:次刻度
  • Axes:轴
  • Spines:脊

示例代码

下面通过一个具体的示例代码,展示如何使用Matplotlib绘制数据图:

import numpy as np
import matplotlib.pyplot as plt

# 设置字体为Arial,显示负号
plt.rcParams['font.sans-serif'] = ['Arial']
plt.rcParams['axes.unicode_minus'] = False

# 数据准备
x = np.array([1, 2, 3, 4, 5, 6])
SIFT = np.array([12.9749694, 13.9357018, 14.7440844, 16.482254, 18.720203, 18.687582])
AKAZE = np.array([12.1044724, 12.9757383, 13.9754183, 15.686206, 18.367847, 19.144531])
ORB = np.array([12.0205495, 12.6509762, 13.1876223, 14.380781, 16.004548, 17.9298])

# 创建图像并设置大小
plt.figure(figsize=(10, 5))
plt.grid(linestyle="--")  # 设置背景网格线为虚线

# 获取当前坐标轴并隐藏上边框和右边框
ax = plt.gca()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

# 绘制三条折线图
plt.plot(x, SIFT, marker='o', color="blue", label="SIFT", linewidth=1.5)
plt.plot(x, AKAZE, marker='o', color="green", label="AKAZE", linewidth=1.5)
plt.plot(x, ORB, marker='o', color="red", label="ORB", linewidth=1.5)

# 设置x轴刻度标签
group_labels = ['Top 0-5%', 'Top 5-10%', 'Top 10-20%', 'Top 20-50%', 'Top 50-70%', 'Top 70-100%']
plt.xticks(x, group_labels, fontsize=12, fontweight='bold')

# 设置y轴刻度标签
plt.yticks(fontsize=12, fontweight='bold')

# 设置标题和坐标轴标签
plt.title("Example", fontsize=13, fontweight='bold')
plt.xlabel("Performance Percentile", fontsize=13, fontweight='bold')
plt.ylabel("Accuracy", fontsize=13, fontweight='bold')

# 设置坐标轴范围
plt.xlim(0.9, 6.1)
plt.ylim(10, 22)

# 显示图例并设置其样式
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12, fontweight='bold')

# 保存为矢量图
plt.savefig('./filename.svg', format='svg')

# 显示图像
plt.show()

关键特性

在具体绘图时,我们主要关注以下几个特性:

  1. 颜色(Colors)
  2. 线样式
  3. 标记样式
  4. 刻度
  5. 图例

这些内容在以下文章中有更详细的介绍:

图像保存

在保存图像时,建议使用矢量格式(如SVG、EPS、PDF),因为这些格式可以保持图像的清晰度,不会出现像素化的问题。但是,Word本身只能接受WMF和EMF格式的矢量图。因此,如果需要将SVG格式的图像插入Word文档,可以使用在线转换工具(如CloudConvert)将其转换为EMF格式。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号