Processor

【Matplotlib】 이미지 저장하기

작성자 임베디드코리아 작성일26-04-15 00:37 조회85회 댓글0건
<* Matplotlib 이미지 저장하기 *>
◆ matplotlib.pyplot 모듈의 savefig() 함수를 사용해서 그래프를 이미지 파일 등으로 저장한다.


---< 예제 : Graph_save.py  그래프 이미지 저장하기  >----------------------------------------------
import numpy as np
import matplotlib.pyplot as plt

x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)

y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)

plt.subplot(2, 1, 1)                # nrows=2, ncols=1, index=1
plt.plot(x1, y1, 'o-')
plt.title('1st Graph')
plt.ylabel('Damped oscillation')

plt.subplot(2, 1, 2)                # nrows=2, ncols=1, index=2
plt.plot(x2, y2, '.-')
plt.title('2nd Graph')
plt.xlabel('time (s)')
plt.ylabel('Undamped')

plt.tight_layout()
# plt.show()
plt.savefig('savefig_default.png')
_________________________________________________________________________________________________
▶ plt.savefig() 함수에 파일 이름을 입력해주면 아래와 같은 이미지 파일이 저장된다.
 


---< 해상도 dpi 설정하기 >------------------------------
plt.savefig('savefig_default.png')
plt.savefig('savefig_50dpi.png', dpi=50)
plt.savefig('savefig_200dpi.png', dpi=200)
____________________________________________________________________
▶ dpi (Dots per Inch)는 이미지의 해상도를 설정한다.
    디폴트는 dpi=100 이다.


---< facecolor 설정하기  >--------------------------------
plt.savefig('savefig_facecolor.png', facecolor='#eeeeee')
_______________________________________________________________________________________________________________
▶ facecolor는 이미지의 배경색을 설정한다.


---< 예제 : Graph_edgecolor.py  edgecolor 설정하기  >-------------------------------------
import numpy as np
import matplotlib.pyplot as plt

plt.figure(linewidth=2)

x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 2.0)

y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)

plt.subplot(2, 1, 1)                # nrows=2, ncols=1, index=1
plt.plot(x1, y1, 'o-')
plt.title('1st Graph')
plt.ylabel('Damped oscillation')

plt.subplot(2, 1, 2)                # nrows=2, ncols=1, index=2
plt.plot(x2, y2, '.-')
plt.title('2nd Graph')
plt.xlabel('time (s)')
plt.ylabel('Undamped')

# plt.show()
plt.savefig('savefig_edgecolor.png', facecolor='#eeeeee', edgecolor='blue')
_____________________________________________________________________________________________________
▶ edgecolor는 이미지의 테두리선의 색상을 설정한다.
▶ 테두리선의 너비가 기본적으로 0이기 때문에 먼저 linewidth=2로 설정해 준 다음 테두리 색을 지정한다.


---<  bbox_inches 설정하기  >-------------------------------------
plt.savefig('savefig_bbox_inches.png', facecolor='#eeeeee')
plt.savefig('savefig_bbox_inches2.png', facecolor='#eeeeee', bbox_inches='tight')
_____________________________________________________________________________________________________________
▶ bbox_inches는 그래프로 저장할 영역을 설정한다.
▶ 디폴트로 None이지만, ‘tight’로 지정하면 여백을 최소화하고 그래프 영역만 이미지로 저장한다.


---< pad_inches 설정하기  >------------------------------------------------------------
plt.savefig('savefig_pad_inches.png', facecolor='#eeeeee',
            bbox_inches='tight', pad_inches=0.3)
plt.savefig('savefig_pad_inches2.png', facecolor='#eeeeee',
            bbox_inches='tight', pad_inches=0.5)
______________________________________________________________________________________________________________
▶ bbox_inches=’tight’로 지정하면 pad_inches를 함께 사용해서 여백 (Padding)을 지정할 수 있다.
▶ pad_inches의 디폴트 값은 0.1이며, 0.3과 0.5로 지정