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实现的阳历转阴历(农历)算法
Apr 25 Python
Python过滤函数filter()使用自定义函数过滤序列实例
Aug 26 Python
Python编程中的文件操作攻略
Oct 16 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
python 编码规范整理
May 05 Python
Python Learning 列表的更多操作及示例代码
Aug 22 Python
python 重命名轴索引的方法
Nov 10 Python
Pandas之MultiIndex对象的示例详解
Jun 25 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
python实现简单区块链结构
Apr 25 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
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
网站上面有这种切换效果
2006/06/26 Javascript
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
js单例模式详解实例
2013/11/21 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
Python中os.path用法分析
2015/01/15 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python实现textrank关键词提取
2018/06/22 Python
python判断完全平方数的方法
2018/11/13 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
详解Python:面向对象编程
2019/04/10 Python
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
自我鉴定三原则
2014/01/13 职场文书
会计员岗位职责
2014/03/15 职场文书
担保书格式及范文
2014/04/01 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
介绍信的写法
2015/01/31 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
详解Vue slot插槽
2021/11/20 Vue.js