2017-11-07 13 views
1

matplotlib를 사용하여 그래프를 생성하고 python-pptx에 저장하려고합니다. 모든 것이 잘 작동하지만, PPTX로 가져올 때 이미지 해상도가 낮은python-pptx with matplotlib 이미지 해상도를

을 (난 그냥 다음 StringIO를 사용하여 이미지를 추가 PPTX에 add_picture()를 사용하여 메모리에 저장하고) 내가 할 때.

some_image_in_memory = StringIO() 
plt.savefig(some_image_in_memory) 

가 작동 미세하지만 저해상도에게 이미지를 제공하지만 난 할 때

cannot identify image file <StringIO.StringIO INstamce at ..> 
:
plt.savefig(some_image_in_memory, format='svg') 

나는 오류

도 정확합니까? svg는 해상도를 유지해야하지만 pptx에서 이것을 읽을 수 없습니다.

답변

1

내가 savefig()dpi 값을 설정하여이 문제를 가지고 :

plt.savefig(some_image_stream_in_memory, dpi=1200) 
1

불행하게도, 파워 포인트는 직접 SVG 형식을 지원하지 않습니다 전 (I는 MS와 어도비 사이에 잔디 문제입니다 들었습니다). format=svg으로 저장할 때 오류가 발생한다고 설명합니다.

다른 사람들은 matplotlib에서 PNG 형식으로 행운을 얻는 것처럼 보입니다. 나는 그것이 기본 이미지 형식이라고 생각하지만 체크 할만한 가치가있을 것입니다.

나에게 발생하는 다른 문제는 어디에서나 matplotlib에서 저장할 그래프의 크기를 지정하지 않았다는 것입니다. 작은 이미지로 저장 한 다음 PowerPoint에서 표시 할 때 크기를 크게 늘리면 "거친"모양이 나타납니다.