지난 글에 이어 이번에는 matplotlib에 있는 여러 시각화 모델 중 대표적인 것 몇 개를 간단 하게 알려주려고 한다.

각 모델에 대해 더 자세히 공부해 보고 싶다면 각 모델 시작 마다 웹 사이트 링크가 달려있으니
웹사이트를 참조하면 된다.
 

Bar_chart(막대그래프)

https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.bar.html

막대그래프의 장점은 크고 작음을 한눈에 이해할 수 있다는 것이다. 주로 공시적 자료를 다룰 때 자주 쓰인다.

1)막대그래프 생성하기

- plt.bar(x,y,기타설정들)

똑같이 연도별 messi의 골수를 막대그래프로 나타내 보자
작성 형식은 다음과 같다.

기본적인 형태로 막대그래프를 그려봤다. y축 label들이 겹치므로 y축 범위를 지정해주었다.

- width

width을 이용해 막대 너비의 크기를 조정할 수 있다.
default 값은 0.8이다

- bottom

bottom을 이용해 막대가 어디서 시작할지 정해준다 defalut값은 None(0)이다
막대의 길이는 그대로이다.

그래프를 보면 막대들이 bottom으로 설정 해준 50만큼 공중에 떠있음을 알 수 있다.
또한 그래프의 길이는 유지되기 때문에 y값들이 모두 50씩 더해진 모습이다.
즉 y값이 50인데 bottom값으로 50을 준다면 50~100까지 막대가 그려진다.

- align

align을 이용해 막대의 중심을 어디로 둘지 정할 수 있다.
align=center는 막대를 x축 중앙에 위치하게 한다. default 값은 center이다.
align=edge은 x축 왼쪽 모서리에 이동시키게 한다.
만약 오른쪽으로 이동시키려 한다면 width에 입력되는 값을 음수로 입력하면 된다.

아래 코드는 사용 예시이다.

 

- alpha

alpha를 이용하여 투명도를 조절할 수 있다. 0일 수록 투명하고 1일 수록 색이 진하다.

2)여러 개의 막대 그리기

선 그래프처럼 막대그래프도 동시에 여러 개의 막대를 그릴 수 있다. 이때 중요한 점은 첫 번째 이후에 막대에는 bar_width 이용하여 bar_width만큼 떨어지게 설정을 해줘야 한다.
기본적으로 0.5보다 작아야 겹치지 않는다.

3)가로로 그리기

만약 막대를 가로로 뻗어나가게 그리고 싶다면 bar(x, y) 대신 barh(x, y)를 사용하면 된다. 몇 가지 인수들이 다른 거 말고는 동일하다.

이걸 응용하면 다음과 같은 그래프도 그릴 수 있다

히스토그램

https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.hist.html

막대그래프 VS 히스토그램


막대그래프와 히스토그램 모두 공시적 자료를 활용하고 막대를 이용하는 그래프이다. 둘의 차이점은 데이터가 연속적이라면 히스토그램이라고 부르고, 불연속적 자료의 경우 막대그래프라 부른다.
막대그래프는 주로 수량의 크기를 나타내며 이때 막대가 서로 떨어져 있다. 히스토그램은 전체 집단의 분포상태를 파악하거나 비교할 때 쓰이며 막대가 서로 붙어있다.

위 그래프를 보면 x에 있는 값들의 분토를 나타낸다.
0-5는 4개 5-10,15-20 3개 10-15에는 2개가 있다는 뜻이다.

숫자 4는 bins값으로 전체를 몇 등분할지 정해준다.

- density

단순 개수가 아닌 확률로 보고 싶다면 density=true를 사용하면 된다.

- cumulative

개별이 아닌 누적 값을 보고 싶다면 cumulative를 이용하면 된다.

- rwidth

일반 막대그래프와 달리 히스토그램에서 막대의 너비를 정할 때 width가 아닌 rwidth를 사용한다. default 값은 1로 꽉 채울 때이다.

scatter(산점도)

https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.scatter.html

산점도는 두 개의 변수 간의 관계를 나타내기 좋다.
주로 두 변수 간의 상관관계나 방향성 등을 알 때 사용한다.

plt.scatter(x, y, 기타 설정들)을 통해 만들어 줄 수 있다.

아래 코드는 어떤 그룹의 사람들의 키와 몸무게를 산점도로 시각화한 것이다.

키와 몸무게가 어느 정도 비례함이 보인다.
이때 각점이 누구인지 알 수 있게 라벨을 달아주자

pie chart

https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.pie.html

파이 차트를 이용하면 전체에 대해 한 데이터가 얼마나 지분을 차지하고 있는지 한눈에 보기 좋다.

- autopct

autopct를 통해 각 부분이 전체의 몇 퍼센트를 차지하는지 나타낼 수 있다.

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기