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 相关文章推荐
python3序列化与反序列化用法实例
May 26 Python
Python手机号码归属地查询代码
May 04 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
python添加菜单图文讲解
Jun 04 Python
实例详解Python模块decimal
Jun 26 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
keras 如何保存最佳的训练模型
May 25 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 Python
python控制台打印log输出重复的解决方法
May 14 Python
Python实现生成bmp图像的方法
Jun 13 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网站被挂木马后的修复方法总结
2014/11/06 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
理解javascript闭包
2015/12/15 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python分析网页上所有超链接的方法
2015/05/08 Python
python实现复制整个目录的方法
2015/05/12 Python
TensorFlow的权值更新方法
2018/06/14 Python
python 调用有道api接口的方法
2019/01/03 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
python源文件的字符编码知识点详解
2021/03/04 Python
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
联谊会主持词
2014/03/26 职场文书
产品设计开发计划书
2014/05/07 职场文书
企业文化理念标语
2014/06/10 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python