Matplotlib에 표시하지 않고 플롯을 이미지 파일로 저장하는 방법

  1. 이미지를 저장하는 Matplotlib savefig()메소드
  2. matplotlib.pyplot.imsave()이미지 저장 방법
Matplotlib에 표시하지 않고 플롯을 이미지 파일로 저장하는 방법

savefig()imsave()메소드를 사용하여 Matplotlib에서 생성 된 플롯을 간단히 저장할 수 있습니다. 대화식 모드 인 경우 플롯이 표시 될 수 있습니다. 플롯의 표시를 피하기 위해close()ioff()메소드를 사용합니다.

이미지를 저장하는 Matplotlib savefig()메소드

matplotlib.pyplot.savefig()를 사용하여 Matplotlib에서 생성 된 플롯을 저장할 수 있습니다. 플롯을 저장해야하는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,
)

여기에서fname은 현재 디렉토리에 대한 경로에 상대적인 파일 이름을 나타냅니다.

대화식 모드로 표시하지 않고 플롯 저장

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.savefig("Plot generated using Matplotlib.png")

생성 된 플롯을 현재 작업 디렉토리에Plot generated using Matplotlib.png라는 이름으로 저장합니다.

png,jpg,svg,pdf 등의 다른 형식으로 플롯을 저장할 수도 있습니다. 마찬가지로, 이미지를 사용자 정의하는figsave()메소드의 다른 인수를 사용할 수 있습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.savefig("Customed Plot.pdf", dpi=300, bbox_inches="tight")

작업 디렉토리에 플롯을 Customed Plot.pdf로 저장합니다. 여기서dpi=300은 저장된 이미지에서 인치당 300 도트를 나타내고bbox_inches='tight'는 출력 이미지 주위에 경계 상자를 나타내지 않습니다.

비 대화식 모드로 표시하지 않고 플롯 저장

그러나 대화식 모드 인 경우 항상 그림이 표시됩니다. 이를 피하기 위해close()ioff()메소드를 사용하여 플롯이 표시되지 않도록 Figure 창을 강제로 닫습니다. 대화식 모드는ion()메소드로 설정되어 있습니다.

close()메소드로 표시하지 마십시오

matplotlib.pyplot.close를 사용하여 그림 창을 닫을 수 있습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(x)
fig = plt.figure()
plt.ion()
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.close(fig)
plt.savefig("Plot generated using Matplotlib.png")

ioff()메소드로 표시하지 마십시오

matplotlib.pyplot.ioff() 메소드를 사용하여 대화식 모드를 끌 수 있습니다. 이렇게하면 Figure가 표시되지 않습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(x)
fig = plt.figure()
plt.ion()
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.ioff()
plt.savefig("Plot generated using Matplotlib.png")

matplotlib.pyplot.imsave()이미지 저장 방법

matplotlib.pyplot.imsave()을 사용하여 Matplotlib에서 이미지 파일로 배열을 저장할 수 있습니다.

import numpy as np
import matplotlib.pyplot as plt

image = np.random.randn(100, 100)
plt.imsave("new_1.png", image)
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn