matplotlib绘制符合论文要求的图片实例(必看篇)


Posted in Python onJune 02, 2017

最近需要将实验数据画图出来,由于使用python进行实验,自然使用到了matplotlib来作图。

下面的代码可以作为画图的模板代码,代码中有详细注释,可根据需要进行更改。

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Arial']  #如果要显示中文字体,则在此处设为:SimHei
plt.rcParams['axes.unicode_minus']=False  #显示负号

x = np.array([3,5,7,9,11,13,15,17,19,21])
A = np.array([0.9708, 0.6429, 1, 0.8333, 0.8841, 0.5867, 0.9352, 0.8000, 0.9359, 0.9405])
B= np.array([0.9708, 0.6558, 1, 0.8095, 0.8913, 0.5950, 0.9352, 0.8000, 0.9359, 0.9419])
C=np.array([0.9657, 0.6688, 0.9855, 0.7881, 0.8667, 0.5952, 0.9361, 0.7848, 0.9244, 0.9221])
D=np.array([0.9664, 0.6701, 0.9884, 0.7929, 0.8790, 0.6072, 0.9352, 0.7920, 0.9170, 0.9254])

#label在图示(legend)中显示。若为数学公式,则最好在字符串前后添加"$"符号
#color:b:blue、g:green、r:red、c:cyan、m:magenta、y:yellow、k:black、w:white、、、
#线型:-  --   -.  :    , 
#marker:.  ,   o   v    <    *    +    1
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,A,color="black",label="A algorithm",linewidth=1.5)
plt.plot(x,B,"k--",label="B algorithm",linewidth=1.5)
plt.plot(x,C,color="red",label="C algorithm",linewidth=1.5)
plt.plot(x,D,"r--",label="D algorithm",linewidth=1.5)

group_labels=['dataset1','dataset2','dataset3','dataset4','dataset5',' dataset6','dataset7','dataset8','dataset9','dataset10'] #x轴刻度的标识
plt.xticks(x,group_labels,fontsize=12,fontweight='bold') #默认字体大小为10
plt.yticks(fontsize=12,fontweight='bold')
plt.title("example",fontsize=12,fontweight='bold')    #默认字体大小为12
plt.xlabel("Data sets",fontsize=13,fontweight='bold')
plt.ylabel("Accuracy",fontsize=13,fontweight='bold')
plt.xlim(3,21)         #设置x轴的范围
#plt.ylim(0.5,1)

#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('D:\\filename.svg',format='svg')  #建议保存为svg格式,再用inkscape转为矢量图emf后插入word中
plt.show()

下面是上面代码绘制的图例:

matplotlib绘制符合论文要求的图片实例(必看篇)

建议保存图片的格式svg(因为matplotlib存为eps矢量图时候会有问题),然后使用inkscape软件将svg格式转为emf矢量图格式。如果svg图片很多,可以在windows下使用批处理(安装inkscape软件后要记得设置path路径),下面这段代码能将它所在目录下的svg文件转为emf文件。将下面代码复制到文本文件,改后缀名为bat。

@echo off
 for %%i in (*.svg) do (
   echo %%i
   inkscape -f %%i -M %%~ni.emf
 )
 @echo Finished

以上这篇matplotlib绘制符合论文要求的图片实例(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现自动重启本程序的方法
Jul 09 Python
20招让你的Python飞起来!
Sep 27 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
python实现在函数中修改变量值的方法
Jul 16 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python传递参数的多种方式(小结)
Sep 18 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Python定义一个Actor任务
Jul 29 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
解析python中的jsonpath 提取器
Jan 18 Python
Python 爬虫图片简单实现
Jun 01 #Python
Python 通过URL打开图片实例详解
Jun 01 #Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 #Python
python 内置函数filter
Jun 01 #Python
python读取二进制mnist实例详解
May 31 #Python
Python算术运算符实例详解
May 31 #Python
Python简单的制作图片验证码实例
May 31 #Python
You might like
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python作用域用法实例详解
2016/03/15 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
老生常谈python中的重载
2018/11/11 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
flask实现验证码并验证功能
2019/12/05 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
《赵州桥》教学反思
2014/02/17 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
2014年底工作总结
2014/12/15 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
入党申请书格式
2019/06/20 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书