본문 바로가기
머신러닝을 위한 파이썬 기초/matplotlib

[파이썬 matplotlib] 그래프 그리는 방법 (fig 와 ax 의 의미 이해하기)

by bigpicture 2023. 9. 5.
반응형

matplotlib 를 통해 그래프를 그리는 방법은 여러가지라 처음 접하시는 분들은 헷갈릴 수 있습니다. 가장 많이 사용하는 방법을 먼저 익히는 것이 좋은 방법 같습니다. 

가장 많이 사용하는 방법은 subplots 라는 메소드를 사용하는 것입니다. 

먼저 산점도 그래프를 그리는 예시를 살펴봅시다. 

import matplotlib.pyplot as plt

x=[1,2,3]
y=[5,6,7]

fig, ax = plt.subplots(1,1)
ax.plot(x, y, label='data1',linestyle='',marker='o')
ax.legend()
plt.show()


코드를 하나씩 설명하겠습니다. x와 y는 데이터입니다. (1,5), (2,6), (3,7) 이라는 점을 그래프로 그릴 것입니다. 

fig,ax = plt.subplots(1,1) 에서 fig와 ax의 의미를 알아봅시다. fig 는 그래프가 들어가는 프레임입니다. ax가 우리가 흔히 알고 있는 그래프입니다. 1,1 은 그래프가 생성되는 행렬입니다. 1,1 인 행렬은 원소가 1개입니다. fig 안에 그래프를 1개만 넣겠다는 의미입니다. 만약 plt.subplots(2,2) 라면 2행 2열의 프레임이므로 그래프가 총 4개 그려집니다.

ax.plot 은 그래프에 데이터를 입력하는 코드입니다. x값과 y값을 넣었습니다. label 은 데이터 이름입니다. linestyle 은 그려질 곡선의 형태인데 ' ' 로 비워두었습니다. 이렇게 하면 선이 아닌 점이 그려집니다. 선을 그리고 싶은 경우 'solid' 라고 입력하면 됩니다. marker 는 점의 모양입니다. 

ax.legend 는 범례를 출력한다는 의미입니다. plt.show( ) 는 그래프를 출력하는 코드입니다. 

그래프는 아래와 같습니다. 

 

그래프 제목과 축이름을 추가하고 싶다면 plt.show() 코드 앞에 아래 코드를 추가하면 됩니다. 

 

ax.set_title('my graph')
ax.set_xlabel('x_axis')
ax.set_ylabel('y_axis')
반응형

댓글