[혼공학습단 9기] 혼자 공부하는 데이터분석 with 파이썬 6주차 (1) - 그래프를 꾸며보자!

coshibaken413·2023년 2월 19일
0

혼공학습단 9기

목록 보기
18/20

CHAPTER 6 - 복잡한 데이터 표현하기

6-1. 객체지향 API로 그래프 꾸미기

핵심 키워드
객체지향 API 컬러맵 컬러 막대

객체지향 API 방식

matplotlib.pyplot에 있는 함수를 사용해서 그래프를 그리지 않고 명시적으로 피겨 객체와 서브플롯 객체를 만들고, 이 객체의 메서드를 사용해서 그래프를 그리는 방식을 객체지향 API 방식이라고 한다.

하나의 피겨에 여러 개의 서브플롯을 추가하는 등 복잡한 그래프를 그릴 때는 객체지향 방식을 사용하는 것이 좋다.

출판사별 발행 도서 개수 산점도 그리기

ns_book7 데이터프레임을 사용해서 출판사별 도서가 어떤 연도에 가장 많이 발행되었는지 산점도를 그려보자.

1. 그래프에 필요한 데이터 뽑아내기*
ns_book7 데이터는 아래와 같이 구성되어 있다.

먼저 발행 도서 개수 기준으로 상위 30개 까지의 출판사 목록을 만든다.

데이터가 5만 개가 넘기 때문에 산점도에 모두 나타나기에는 많다.
이 중에 랜덤으로 1000개만 선택해서 산점도를 그려보도록 한다.

2. 산점도 그리기*
이제 산점도를 그려보자. x축에는 '발행년도', y축에는 '출판사'열을 지정한다.

3. 값에 따라 마커 크기 다르게 나타내기
위의 그래프에서 어떤 해에 얼마나 많은 도서가 대출되었는지 시각적으로 표현하기 위해 마커의 크기를 조절해보자.
scatter() 함수의 s 매개변수로 마커의 크기를 지정할 수 있다.

위 그래프는 각 출판사의 연도별 도서발행 여부 뿐만 아니라 얼마나 많은 대출을 기록했는지도 한 눈에 알 수 있다.

4. 마커 꾸미기
이제 scatter() 함수 안에 있는 다양한 매개변수를 활용해서 마커를 꾸민다.
matplotlib.pyplot.scatter()에 대한 설명은 공식 홈페이지를 참고하자.

5. 값에 따라 색상 표현하기: 컬러맵
맷플롯립은 컬러맵을 사용해서 값에 따라 색상을 다르게 표현할 수 있다. (기본값: viridis 컬러맵)

가장 많이 사용하는 컬러맵 중 하나는 jet 컬러맵이다.
jet 컬러맵은 낮은 값일수록 짙은 파란색이고, 높은 값일수록 노란색으로 바뀌다가 붉은색이 된다.

기본 컬러맵보다 jet 컬러맵으로 변경했을 때 데이터 차이에 따른 컬러 변화를 잘 확인할 수 있다.

산점도에서 가장 짙은 빨간색은 가장 큰 대출건수에 맵핑되고, 가장 짙응ㄴ 파란색은 가장 작은 대출건수(0)에 맵핑된다.

또한 s매개변수에 입력값을 '대출건수 * 1.3' 으로 주었다. 이렇게 하면 대출건수가 많을 수록 마커의 크기도 같이 커지게 된다.

이런 식으로 마커 크기를 조절해서 산점도에 부가적인 정보를 파악할 수 있도록 만들 수 있다.

profile
프론트엔드 기술면접 공부중

0개의 댓글