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 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
python将txt文件读入为np.array的方法
Oct 30 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
如何使用Python自动控制windows桌面
Jul 11 Python
python多进程间通信代码实例
Sep 30 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
python圣诞树编写实例详解
Feb 13 Python
Python实现井字棋小游戏
Mar 09 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
基于python的matplotlib制作双Y轴图
Apr 20 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP分享图片的生成方法
2018/04/25 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
Node.js文件操作详解
2014/08/16 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
Angular路由简单学习
2016/12/26 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
JS验证字符串功能
2017/02/22 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
Python语言描述KNN算法与Kd树
2017/12/13 Python
python机器人行走步数问题的解决
2018/01/29 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
平面设计自荐信
2013/10/07 职场文书
写自荐信的七个技巧
2013/10/15 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android