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 27 Python
Python使用三种方法实现PCA算法
Dec 12 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python Gitlab Api 使用方法
Aug 28 Python
Python argparse模块应用实例解析
Nov 15 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python netmiko模块的使用
Feb 14 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 Python
python模板入门教程之flask Jinja
Apr 11 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
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
python 标准差计算的实现(std)
2019/07/29 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
Weblogic的布署方式
2013/08/23 面试题
优秀员工个人的自我评价
2013/11/29 职场文书
毕业生自荐信格式
2014/03/07 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
后备干部推荐材料
2014/12/24 职场文书
求职导师推荐信范文
2015/03/27 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书