1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【matplotlib】matplotlib使用详解 使用python绘制漂亮的论文数据图

【matplotlib】matplotlib使用详解 使用python绘制漂亮的论文数据图

时间:2023-03-16 00:08:22

相关推荐

【matplotlib】matplotlib使用详解 使用python绘制漂亮的论文数据图

预备知识

Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一。

全面了解Matplotlib,可以查看以下教程:

Matplotlib教程(非常详细)

这是Matplotlib提供的几十个使用示例:

Examples — Matplotlib 3.5.0 documentation

基本概念

这是Matplotlib官网提供的一张示意图,它标识了作图中的基本概念,有利于理解后面的作图代码

示例代码

下面通过示例代码说明matplotlib的使用

这里有两个不错的参考代码,本文的示例代码由此改进而来

利用python的matplotlib包绘制科研论文中的插图(可以保存为矢量图) - 雨后观山色 - 博客园

matplotlib绘制符合论文要求的图片实例(必看篇)_Python_脚本之家

# coding=utf-8import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Arial'] # 如果要显示中文字体,则在此处设为:SimHeiplt.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.73, 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])# label在图示(legend)中显示。若为数学公式,则最好在字符串前后添加"$"符号# color:b:blue、g:green、r:red、c:cyan、m:magenta、y:yellow、k:black、w:white、、、# 线型:- -- -. : ,# marker:. , o v < * + 1plt.figure(figsize=(10, 5)) # 设置图像大小plt.grid(linestyle="--") # 设置背景网格线为虚线ax = plt.gca() #gca就是get current axes 获取当前坐标轴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)group_labels = ['Top 0-5%', 'Top 5-10%', 'Top 10-20%', 'Top 20-50%', 'Top 50-70%', ' Top 70-100%'] # x轴刻度的标识plt.xticks(x, group_labels, fontsize=12, fontweight='bold') # 默认字体大小为10plt.yticks(fontsize=12, fontweight='bold')plt.title("Example", fontsize=13, fontweight='bold') # 默认字体大小为12plt.xlabel("Performance Percentile", fontsize=13, fontweight='bold')plt.ylabel("Accuracy", fontsize=13, fontweight='bold')plt.xlim(0.9, 6.1) # 设置x轴的范围plt.ylim(10, 22)# plt.legend()#显示各曲线的图例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') # 建议保存为svg格式,再用在线转换工具转为矢量图emf后插入word中plt.show()

绘图效果

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

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

这些内容在这篇文章里有比较好的介绍:

期刊论文写作之【python matplotlib 画图设置】_Csclion的博客-CSDN博客

Matplotlib画各种论文图_等一杯咖啡的博客-CSDN博客

Matplotlib 常用画图命令总结:使用 Python 在论文中画出一手漂亮的数据图 - 知乎

图像保存

最后是图像保存,这里摘抄前面参考文献的话作为记录

利用matplotlib包绘图,保存svg,再转成emf矢量图贴在文章里

用Python作图保存的图矢量格式为svg、eps、pdf的,不能直接插入word。

Word本身只能接受wmf,emf格式的矢量图

所以svg的要借助其他软件转换。如用visio,illustrator等。在线转换工具。SVG to EMF | CloudConvert

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。