Ben şu kodu kullanın Bu çözümü uygulayabilirsiniz ms word/powerpoint içine yüksek kaliteli araziler eklemek ve dönüştürücü olarak inkscape kullanmak isteyen için:
plt.plot([1,2], [4,5])
fig = plt.gcf()
plot_as_emf(fig, filename="C:/test.emf")
: Eğer basit bir örnek çalıştırabilirsiniz Bu işlevi test etmek için
from matplotlib import pyplot as plt
import subprocess, os
def plot_as_emf(figure, **kwargs):
inkscape_path = kwargs.get('inkscape', "C://Program Files//Inkscape//inkscape.exe")
filepath = kwargs.get('filename', None)
if filepath is not None:
path, filename = os.path.split(filepath)
filename, extension = os.path.splitext(filename)
svg_filepath = os.path.join(path, filename+'.svg')
emf_filepath = os.path.join(path, filename+'.emf')
figure.savefig(svg_filepath, format='svg')
subprocess.call([inkscape_path, svg_filepath, '--export-emf', emf_filepath])
os.remove(svg_filepath)
Gerçek çağrıların "plt" için bir örneğini (gerekirse, bazı verileri oluştur) verebilir misiniz? Bu başkalarının katkıda bulunmasına yardımcı olacaktır. – Yann
Tanımladığınız sorunun önerdiğinizden ve EPS çıktısının gerçekten tam bir vektör yorumlama olduğundan emindim. Zavallı bir görüntüleyici aracılığıyla eps'ya bakıyor olmanız olabilir - bu uygulamayı eps görüntülemek için hangi uygulamada kullanıyorsunuz? – pelson
'plt.savefig ('some_name.eps', bbox_inches = 'tight')' sistemimde bir vektörel çizim oluşturuyor. – mab