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脚本实现网卡流量监控
Feb 14 Python
Python中的高级数据结构详解
Mar 27 Python
python将字典内容存入mysql实例代码
Jan 18 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
Jul 11 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
Python函数默认参数常见问题及解决方案
Mar 26 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
10个python爬虫入门实例(小结)
Nov 01 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全排列递归算法代码
2012/10/09 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
python安装scipy的方法步骤
2019/06/26 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
业务经理岗位职责
2013/11/11 职场文书
研讨会主持词
2014/04/02 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
学校重阳节活动总结
2015/03/24 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
Flask response响应的具体使用
2021/07/15 Python
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL