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中的__future__模块
Apr 27 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
python框架中flask知识点总结
Aug 17 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Flask搭建一个API服务器的步骤
May 28 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
Python json格式化打印实现过程解析
2020/07/21 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
养殖项目策划书范文
2014/01/13 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
老公婚前保证书
2015/02/28 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
2016猴年春节慰问信
2015/11/30 职场文书