python使用matplotlib画出的图怎样放到word中
作者:享邑庆啊
这篇文章主要介绍了python使用matplotlib画出的图怎样放到word中问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
使用matplotlib画出的图放到word中
论文中使用的图一般为两种格式:矢量格式(.wmf,.emf,.eps),位图格式(.bmp,.jpj,.png,.tif)
注:eps,pdf 属于adobe公司,visio, emf为微软产品,两家存在竞争不能直接以另存为的方式转化
矢量格式的图放大后不会模糊,所以这里主要介绍如何使用矢量格式(emf)的图片
首先在python中先把图画出来
import matplotlib.pyplot as plt Accuracy_list = [1,2,3,4,5,6,7,8,9,10] f1_list = [1,2,3,4,5,6,7,8,9,10] x1 = range(0,10) x2 = range(0,10) y1 = Accuracy_list y2 = f1_list plt.plot(x1, y1, 'o-',c= 'blue') #画出来的是圆圈 plt.title('accuracy vs. epoches') plt.ylabel('accuracy') plt.legend([1,2],loc='upper left') plt.show() plt.savefig("accuracy_loss.pdf")
在命令行中执行这个程序(在程序中没有emf格式的,只能保存为eps后转化为emf)
得到图后点击保存,按下图方法保存为.eps的格式
因为word中不能直接打开eps格式的文件,所以将eps转化为emf
在线转化地址:https://cloudconvert.com/eps-to-emf
保存后可以直接放在word中。
但是这个时候,图形可能被压缩了,但是放大后还是清晰的,只有线条有很多锯齿状
我的解决办法是在word中插入一个visio对象,打开visio拖入emf图,保存就好。如果没有visio就只能看着那些锯齿状了。
下边是使用visio和没有使用的对比图
matplotlib图片复制到Word的几种方法
1.savefig()方法支持存储为eps格式的矢量图;还可以保存为svg格式,再用其它工具转换为emf;如果只需要一般的清晰度,也可以在保存png格式时设定dpi参数。
fig.savefig(‘test.png',dpi=600) fig.savefig(‘test.svg')
svg格式,可以用Visio打开,然后复制到Word中;
还有一种方法,就是把SVG图形转换成emf格式。
脚本:
@echo off for %%i in (*.svg) do ( echo %%i inkscape -f %%i -M %%~ni.emf inkscape -f %%i -A %%~ni.pdf ) @echo Finished
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。