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!