나는 다음과 같은 코드를 사용 이 솔루션을 적용 할 수 있습니다 MS 워드/파워 포인트로 고품질의 플롯을 삽입하면 컨버터로 잉크 스케이프를 사용하고자합니다 :
plt.plot([1,2], [4,5])
fig = plt.gcf()
plot_as_emf(fig, filename="C:/test.emf")
: 당신이 간단한 예제를 실행할 수있는이 기능을 테스트하기 위해
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)
'plt '에 대한 실제 호출에 대해 예제를 제공 할 수 있습니까? 이것은 다른 사람들이 기여할 수 있도록 도와 줄 것입니다. – Yann
당신이 설명하는 문제가 당신이 제안한대로가 아니며 eps 출력이 정말로 본격적인 벡터 표현이라고 확신합니다. 열악한 뷰어를 통해 eps를보고있을 수 있습니다. 어떤 응용 프로그램에서 eps를 보는 데 사용하고 있습니까? – pelson
'plt.savefig ('some_name.eps', bbox_inches = 'tight')'는 내 시스템에 벡터화 된 플롯을 생성합니다. – mab