12. 다중 막대 그래프

성준혁·2023년 1월 12일
0

Matplotlib

목록 보기
13/18
post-thumbnail

ticks 하나에 막대를 여러 개 그릴 수 있다. 누적 막대그래프가 여러 데이터(국어, 수학 등)를 위로 쌓았다면, 다중 막대그래프는 여러 데이터를 옆으로 나란히 보여준다.

  • 기본 설정 & 데이터 준비

넘파이 활용

  • 이번 차시는 넘파이의 np.arange() 함수가 필요함.
    : numpy 배열(array)를 생성해줌. + numpy 배열은 연산 브로드캐스팅이 됨!
  • Numpy의 브로드캐스팅 원리를 이용하면 다중 막대그래프를 그릴 수 있음.
    plt.bar(x-1, y, ...) : 약간 왼쪽에 하나 그리고,
    plt.bar(x, y, ...) : 중간에 하나 그리고,
    plt.bar(x+1, y, ...) : 약간 오른쪽에 하나 그리는 느낌이랄까 ...

다중 막대 그래프 생성

  • df.shape()에서 '학생 수'에 해당하는 숫자를 꺼내오고, np.arange()를 활용해 그만큼의 인덱스를 생성함.
  • 아까 말했듯이, 왼쪽/중앙/오른쪽에 각각 막대를 하나씩 그려서 다중으로 그려줌.
  • 겹쳐서 복잡하니까 width막대 두께를 조절해줌.
    ➡️ 한눈에 여러 데이터들을 비교하면서 볼 수 있으니 좋네!

세부 설정

  • 각 막대가 어떤 데이터인지 알기 위해, plt.legend()범례를 넣어줌.
  • plt.xticks()를 설정해서 x축 눈금에 학생들 이름이 들어가도록 함.


🧐My Point

❓[11]에서 걍 arange(8) 하면 되는 거 아닌가? 굳이 왜 이렇게 복잡하게? ➡️ 데이터 많으면 숫자 뭐 써야하는지 모르니까, 그런 경우를 생각해서 일반화할 수 있는 방법을 가르쳐주신 듯??

profile
생각은 그만

0개의 댓글