소개
Matplotlib 는 Python 에서 널리 사용되는 데이터 시각화 라이브러리입니다. 데이터 탐색 및 프레젠테이션을 위해 다양한 사용자 정의 가능한 플롯과 그래프를 제공합니다. 이 랩에서는 Matplotlib 를 사용하여 범주형 변수를 플로팅하는 방법을 배웁니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.
Matplotlib 임포트
첫 번째 단계는 Matplotlib 라이브러리를 임포트하는 것입니다. 또한 샘플 데이터를 생성하기 위해 numpy 라이브러리를 사용합니다.
import matplotlib.pyplot as plt
import numpy as np
데이터 준비
다음으로, 플로팅할 샘플 데이터를 준비합니다. 서로 다른 과일의 개수를 포함하는 딕셔너리를 생성한 다음, 키와 값을 별도의 리스트로 추출합니다.
data = {'apple': 10, 'orange': 15, 'lemon': 5, 'lime': 20}
names = list(data.keys())
values = list(data.values())
막대 그래프 (Bar Plot)
막대 그래프는 범주형 데이터를 표시하는 좋은 방법입니다. bar 함수를 사용하여 막대 그래프를 생성할 수 있습니다.
plt.bar(names, values)
plt.title('Fruit Counts')
plt.xlabel('Fruit')
plt.ylabel('Count')
plt.show()
산점도 (Scatter Plot)
두 개의 범주형 변수 간의 관계를 표시하기 위해 산점도를 생성할 수도 있습니다. 이 경우, 동일한 과일 데이터를 사용하고 개수에 약간의 무작위 노이즈 (random noise) 를 추가하여 두 번째 변수를 생성합니다.
noise = np.random.rand(len(values)) * 5
plt.scatter(names, values + noise)
plt.title('Fruit Counts with Noise')
plt.xlabel('Fruit')
plt.ylabel('Count')
plt.show()
선 그래프 (Line Plot)
선 그래프는 범주형 변수가 시간에 따라 어떻게 변화하는지 보여주는 데 사용될 수 있습니다. 이 예제에서는 다양한 활동 동안 고양이와 개의 행복 수준에 대한 데이터를 사용합니다.
cat = ["bored", "happy", "bored", "bored", "happy", "bored"]
dog = ["happy", "happy", "happy", "happy", "bored", "bored"]
activity = ["combing", "drinking", "feeding", "napping", "playing", "washing"]
plt.plot(activity, dog, label="dog")
plt.plot(activity, cat, label="cat")
plt.title('Happiness Levels')
plt.xlabel('Activity')
plt.ylabel('Happiness')
plt.legend()
plt.show()
요약 (Summary)
이 랩에서는 Matplotlib 을 사용하여 범주형 변수를 플롯하는 방법을 배웠습니다. 다양한 유형의 범주형 데이터를 시각화하기 위해 막대 그래프 (bar plot), 산점도 (scatter plot), 그리고 선 그래프 (line plot) 를 생성했습니다. 축 레이블, 제목, 그리고 범례를 사용자 정의함으로써, 데이터를 효과적으로 전달하기 위한 유익하고 시각적으로 매력적인 플롯을 만들 수 있습니다.