首页 > 编程语言 > 详细

利用python的matplotlib包绘制科研论文中的插图(可以保存为矢量图)

时间:2020-05-17 20:35:18      阅读:575      评论:0      收藏:0      [点我收藏+]

1.利用matplotlib包绘图,保存svg,再转成emf矢量图贴在文章里

用Python作图保存的图矢量格式为svg、eps、pdf的,不能直接插入word。

Word本身只能接受wmf,emf格式的矢量图

所以svg的要借助其他软件转换。如用visio,illustrator等。这里推荐一个在线转换工具。https://cloudconvert.com/svg-to-emf 

技术分享图片

常用的图片格式解释:

fig:matlab 默认的图片保存格式,在其他软件上一般不可用,可视为矢量图。
eps: 矢量图,适用于 LaTex。

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
emf:矢量图,适合 Word。
jpg:位图,很古老的图片格式,同时也几乎是最常用的图片格式。
bmp:位图,未压缩。
pdf:直接输出为 pdf,亲测和在 Word 中插入矢量图再输出为 pdf 效果相同。
png:位图,无损压缩。

使用案例:

# 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([1, 2, 3, 4, 5, 6])
VGG_supervised = np.array([2.9749694, 3.9357018, 4.7440844, 6.482254, 8.720203, 13.687582])
VGG_unsupervised = np.array([2.1044724, 2.9757383, 3.7754183, 5.686206, 8.367847, 14.144531])
ourNetwork = np.array([2.0205495, 2.6509762, 3.1876223, 4.380781, 6.004548, 9.9298])

# 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, VGG_supervised, marker=o, color="blue", label="VGG-style Supervised Network", linewidth=1.5)
plt.plot(x, VGG_unsupervised, marker=o, color="green", label="VGG-style Unsupervised Network", linewidth=1.5)
plt.plot(x, ourNetwork, marker=o, color="red", label="ShuffleNet-style Network", linewidth=1.5)

group_labels = [Top 0-5%, Top 5-10%, Top 10-20%, Top 20-50%, Top 50-70%,  Top 70-100%]  # 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("Performance Percentile", fontsize=13, fontweight=bold)
plt.ylabel("4pt-Homography RMSE", fontsize=13, fontweight=bold)
plt.xlim(0.9, 6.1)  # 设置x轴的范围
plt.ylim(1.5, 16)

# 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(./filename.svg, format=svg)  # 建议保存为svg格式,再用在线转换工具转为矢量图emf后插入word中
plt.show()

word中插入emf格式的矢量图:

技术分享图片

效果:

技术分享图片 

参考文献:

01 Matplotlib画各种论文图

https://blog.csdn.net/bskfnvjtlyzmv867/article/details/80352891

02 python matplotlib 论文画图代码总结

https://blog.csdn.net/qq_27465499/article/details/86765944

 

03 期刊论文写作之【python matplotlib 画图设置】

https://blog.csdn.net/qq_22522663/article/details/87916573

 

利用python的matplotlib包绘制科研论文中的插图(可以保存为矢量图)

原文:https://www.cnblogs.com/luckyplj/p/12906509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!