더북(TheBook)

8.3.4 상자 수염 그림 여러 개 그리기

이번에는 상자 수염 그림 2개를 그려 봅시다. 영어 점수 리스트를 추가해 국어 점수와 영어 점수를 각각 상자 수염 그림으로 그립니다. 상자 수염 그림은 다른 그래프와 달리 그래프를 그리는 명령어를 여러 개 사용하지 않고, plt.boxplot()의 데이터에 이차원 리스트를 넣으면 됩니다. 다음 코드를 봅시다.

kor = [80, 20, 50, 20, 10, 50, 60, 30, 60]
eng = [90, 40, 60, 40, 10, 30, 50, 70, 90]

plt.boxplot([kor, eng], labels=['국어 점수', '영어 점수'])
plt.show()
실행결과

두 리스트를 묶어 이차원 리스트 [kor, eng]로 만들었습니다. 이차원 리스트의 첫 번째 요소는 kor, 두 번째 요소는 eng입니다. 이차원 리스트를 넣은 plt.boxplot()을 실행하면 이차원 리스트의 요소(일차원 리스트)별로 상자 수염 그림을 그리고 한 그래프 안에 나타냅니다. 그리고 labels 옵션으로 넣은 각 그래프의 라벨이 표시됩니다.

그래프를 보니 국어 점수와 영어 점수의 중앙값이 같네요. 하지만 국어 점수의 상자는 중앙값보다 아래쪽이 길고 영어 점수의 상자는 중앙값보다 위쪽이 깁니다. 따라서 국어 점수가 영어 점수보다 대체로 낮다고 볼 수 있습니다.

이차원 리스트 안에 더 많은 일차원 리스트를 넣으면 일차원 리스트 개수대로 상자 수염 그림이 그려집니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.