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)
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn