Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 그래프를 SVG 파일로 내보내는 방법

Matplotlib으로 생성한 그래프를 SVG(Scalable Vector Graphics) 파일로 저장하면 확대해도 화질이 손상되지 않는 벡터 이미지를 얻을 수 있어, 논문·보고서·웹 게시 등에 매우 유용합니다. 이 글에서는 Matplotlib 그림에서 SVG 파일을 내보내는 방법을 단계별로 살펴보겠습니다.

SVG 파일 내보내기 절차

  • 그림 크기를 설정하고 서브플롯(subplot) 주변과 사이의 여백(padding)을 조정합니다.

  • figure 객체와 서브플롯 집합을 생성합니다.

  • NumPy를 사용하여 무작위 x, y 데이터 포인트를 만듭니다.

  • plot() 메서드를 사용해 x, y 데이터를 그래프로 그립니다.

  • savefig() 메서드를 사용해 .svg 형식의 파일로 저장합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# figure와 subplot 생성
fig, ax = plt.subplots()

# 무작위 x, y 데이터 생성
x = np.random.rand(10)
y = np.random.rand(10)

# 점선 스타일의 빨간색 선 그래프 그리기
ax.plot(x, y, ls='dotted', linewidth=2, color='red')

# SVG 파일로 저장
plt.savefig("myimg.svg")

실행 결과

위 코드를 실행하면 현재 작업 디렉터리에 "myimg.svg"라는 이름의 SVG 파일이 생성되고 저장됩니다.

추가 팁

  • 저장 경로 지정: savefig()에 전체 경로를 입력하면 원하는 폴더에 파일을 저장할 수 있습니다. 예: plt.savefig("output/myimg.svg")

  • 투명 배경: transparent=True 옵션을 추가하면 배경이 투명한 SVG 파일을 만들 수 있습니다.

  • 해상도 조절: dpi 매개변수를 사용해 출력 해상도를 지정할 수 있습니다. 예: plt.savefig("myimg.svg", dpi=300)

이처럼 savefig() 메서드 하나만으로 Matplotlib 그래프를 간편하게 SVG 벡터 이미지로 변환할 수 있습니다.