Matplotlib에서 그래프를 고해상도로 플롯하고 저장하는 방법

Suraj Joshi 2023년1월30일
  1. Matplotlib에서 고해상도 그래프 그리기
  2. Matplotlib에서 고해상도로 그림 저장
Matplotlib에서 그래프를 고해상도로 플롯하고 저장하는 방법

Matplotlib에서 그래프를 고해상도로 저장하기 위해savefig()함수의 다양한 파라미터를 제어합니다. 비슷하게, 우리는figure()함수에서dpi 매개 변수의 높은 값을 설정함으로써 고해상도로 그래프를 그릴 수 있습니다.

Matplotlib에서 고해상도 그래프 그리기

matplotlib.pyplot.figure() 함수에서dpi의 높은 값을 설정하여 고해상도로 그림을 그릴 수 있습니다.

matplotlib.pyplot.figure()의 구문:

matplotlib.pyplot.figure(num=None, 
                         figsize=None, 
                         dpi=None, 
                         facecolor=None, 
                         edgecolor=None, 
                         frameon=True, 
                         FigureClass=<class 'matplotlib.figure.Figure'>,
                         **kwargs)

dpi는 인치당 도트 수를 나타냅니다. 그림에서 인치당 픽셀 수를 나타냅니다. matplotlib.pyplot.figure() 함수에서dpi의 기본값은 100입니다. 고해상도 플롯을 생성하기 위해dpi의 높은 값을 설정할 수 있습니다. 그러나dpi를 늘리면 그림이 확대되고 그림이 잘리지 않도록dpi의 적절한 값을 조정해야합니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20)
m = 1.5
c = 2
y = m * x + c

plt.figure(dpi=150)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

출력:

고해상도로 플로팅

Matplotlib에서 고해상도로 그림 저장

matplotlib.pyplot.savefig() 함수에서dpi의 높은 값을 설정하여 고해상도로 그림을 그릴 수 있습니다.

matplotlib.pyplot.savefig()의 구문:

matplotlib.pyplot.savefig(fname, 
                          dpi=None,
                          facecolor='w',
                          edgecolor='w',
                          orientation='portrait',
                          papertype=None, 
                          format=None,
                          transparent=False,
                          bbox_inches=None, 
                          pad_inches=0.1,
                          frameon=None, 
                          metadata=None)

savefig()함수의dpi 매개 변수를 통해 저장된 도형의 해상도를 제어 할 수 있습니다. 마찬가지로 플롯을 저장하는 동안 형식을 다양화할 수도 있습니다. png는 손실없는 압축 형식이고 다른 하나는 손실 압축 형식이므로 일반적으로png는 고해상도 플롯에서jpg보다 낫습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5)
m = 1.5
c = 2
y = m * x + c

plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.savefig("High resoltion.png", dpi=300)

이것은 현재 작업 디렉토리에서 기본 케이스보다 높은 해상도로 플롯을High resoltion.png로 저장합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn