본문 바로가기
개발 Tools/파이썬_Matplotlib & Seaborn

matplotlib fig, ax 그림 그리기 ( 한글설정, grid(), set_xlabel(), set_title(), set_ylabel(), figsize, ax, scatter)

by 전컴반 2021. 4. 18.
반응형

안녕하세요

이번에는 matplotilb 를 사용해서 그림을 그려보겠습니다. 그림을 그리는 방법은 여러가지 있는데요. 저는 fig, ax 를 사용함으로 통일하고 있습니다. 너무 많아서 헷갈리는 것보다는 하나의 방법을 고수하는 게 좋은 거 같습니다!. 이런 의미에서 학교에소 배우는 코딩 수업의 이론 시험은 큰 의미가 없는 것 같습니다. 학교에서는 그냥 가르치키만 하기 때문입니다!

 

먼저 한글 설정을 해줘야 합니다. 리눅스와 윈도우의 설정이 다른데 저는 윈도우를 사용하고 있습니다

 

 

그리고 데이터에서 서울시에 있는 병원의 정보만 가져옵니다. 양이 많아서 느려질 걸 대비해 1000개만 가져오겠습니다.

df.sample(1000) 이 1000개의 샘플만을 가져와서 df에 집어넣겠다는 의미입니다

 

그리기 전에 설정은 fig, ax = plt.subplots() 를 해줍니다. subplots 란 하나의 팔레트에 여러 개의 그림을 그린다고 생각하시면 될 거 같습니다. fig = 팔레트, ax = 그림 하나하나

(지금은 fig, ax 의 사용법을 알아보고 있으니 그림은 같은 그림으로 사용하겠습니다)

 

 grid = 격자점. ax 는 그림 하나를 나타내는데 ax1 을 집어넣으란 말입니다. set_xlabel() 이란 x 축을 설명하는 내용을 집어넣습니다. set_title() 이란 말 그대로 그래프의 이름을 넣습니다. 어떻게 그려질까요?

 

 

이렇게 그려집니다. 서울시의 모양과 비슷하죠??

 

그럼 하나의 창에 여러개의 그림을 그리려면 어떻게 해야 할까요?? 위의 방법과 유사합니다

 

 

이번에는 ax 를 1,2 로 나눠줍니다. 그리고 subplots() 안에 (1,2) 를 해줍니다. 이건 1행 2열로 그린다는 의미입니다. 또 ax 를 다른 값을 줘야 함에 주의합니다! 바로 그려보겠습니다

 

 

느낌이 오시나요??

바로 세개를 그려보겠습니다. 근데 그림이 압축돼 있는 게 보이시나요? 팔레트의 크기를 늘리고 싶다면 어떻게 해야 할까요? figsize = (10,6) 즉 가로 10, 세로 6의 크기로 지정합니다

 

 

바로 그려보겠습니다

 

 

커진 게 보이시나요?? 느낌이 안 오실 수도 있겠지만... 한번 직접 해보시면 잘 보이실 겁니다

자 이제 마지막으로 4개를 그려보겠습니다. 4개면 2행 2열로 그려야겠죠??

 

 

 

여기서 주의할 점은 (ax1,ax2), (ax3,ax4) 이렇게 묶는 게 중요합니다!! 아니면 오류가 납니다! 처음에 (ax1,ax2,ax3,ax4) 이렇게 적어서 오류가 났었는데 이유를 잘 몰라서 고민했던 기억이 있습니다. 여러분은 저 같은 실수 안 하시길 바랍니다!

 

그려보겠습니다

 

 

이렇게 4개의 그림이 나옵니다

 

여러 가지 설정들이 있는데 필요에 의해 그리면 될 거 같습니다. matplotlib 홈페이지에 가면 여러 가지 설정과 설명들이 잘 나와있습니다

 

정리하자면 fig 는 팔레트의 개념입니다. ax 는 팔레트에 걸리는 그림을 의미합니다

 

이상으로 subplots 를 이용한 그림 그리기였습니다

감사합니다!

반응형

댓글