三流院生のデータ解析忘備録

データ解析等の情報をメモ書き程度のクオリティーで更新。Python, Fortran, bash, ArcGIS, Microsoft Office (Word, Excel, PowerPoint).

Matplotlibで作成したsvgファイルをemfファイルに変換

WordファイルをPDF変換したり、大きなスクリーンでプレゼンを行う場合には、拡大縮小に強いベクタ形式の画像が適している。

 

Microsoft Officeのソフトに挿入可能なベクタ形式はemfファイルであり、

他のepsやsvgファイルは非対応なので挿入するには少し手間がかかる

 

Pythonからはinkscapeコマンドでemfの出力(svgからの変換)が可能である。

以下スクリプト

-----

import numpy as np
import matplotlib.pyplot as plt
import subprocess

 

x = np.linspace(0,23,24)
y = np.linspace(0,46,24)
plt.plot(x,y)

plt.savefig('sample_image.svg')
subprocess.call('inkscape sample_image.svg -M sample_image.emf', shell=True)
plt.show()

-----

 

Inkscapeがインストールされていない場合は(ubuntu)、

$sudo apt-get install inkscape

でOK!