HOWTO · Matplotlib

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

Matplotlib에서 플로팅하는 동안 savefig() 함수의 다양한 인수와 save() 함수의 다양한 인수를 사용하여 그래프의 해상도를 제어 할 수 있습니다.

이 페이지의 내용

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로 저장합니다.