구글 코랩에서 지원하는 주요 데이터 시각화 라이브러리를 소개하겠습니다.
실습에서는 Matplotlib 라이브러리를 활용해 데이터를 시각화하는 방법을 살펴보겠습니다. 특정 품사 추출하기 작업의 결과인 nouns.txt 파일을 사용하여, 명사의 빈도수를 계산하고 상위 10개 명사를 막대그래프, 파이차트, 워드클라우드 형태로 시각화해 보겠습니다.
필요한 라이브러리를 임포트합니다.
import matplotlib.pyplot as plt
from collections import Counter
파일 경로를 설정합니다.
nouns_output_file = 'nouns.txt'
명사의 빈도수를 계산합니다.
with open(nouns_output_file, 'r', encoding='utf-8') as nouns_file:
noun_counts = Counter(nouns_file.read().splitlines())
상위 10개 명사를 추출합니다.
top_nouns = noun_counts.most_common(10)
words, counts = zip(*top_nouns)
막대그래프로 시각화 하겠습니다.
plt.figure(figsize=(10, 6))
plt.barh(words, counts, color='skyblue')
plt.xlabel('Frequency')
plt.title('Top 10 Nouns Frequency')
plt.gca().invert_yaxis()
plt.show()
너비 10인치, 높이 6인치 크기의 그래프를 생성합니다. 수평 막대그래프에서 words는 그래프의 y축에 해당하는 단어들이고, counts는 각 단어의 x축에 해당하는 빈도수입니다. 막대그래프의 색상은 하늘색으로 설정하겠습니다. 빈도수를 나타내기 위해 x축에 Frequency 레이블을 추가합니다. 그래프의 제목을 Top 10 Nouns Frequency로 설정합니다. 기본적으로 y축은 아래에서 위로 증가하지만, 상위 10개 명사가 위쪽에 오도록 y축을 반전시키겠습니다. 이렇게 하면 빈도가 높은 명사가 그래프의 상단에 위치하게 됩니다. 생성된 그래프를 화면에 출력합니다.
지금까지의 과정을 모두 포함하면 다음과 같이 코드가 완성됩니다.
import matplotlib.pyplot as plt
from collections import Counter
nouns_output_file = 'nouns.txt'
with open(nouns_output_file, 'r', encoding='utf-8') as nouns_file:
noun_counts = Counter(nouns_file.read().splitlines())
top_nouns = noun_counts.most_common(10)
words, counts = zip(*top_nouns)
plt.figure(figsize=(10, 6))
plt.barh(words, counts, color='skyblue')
plt.xlabel('Frequency')
plt.title('Top 10 Nouns Frequency')
plt.gca().invert_yaxis()
plt.show()
화살표 버튼을 클릭하여 셀을 실행합니다.
다음과 같이 출력됩니다.
**막대그래프의 1~4와 동일한 작업을 수행합니다.**
import matplotlib.pyplot as plt
from collections import Counter
nouns_output_file = 'nouns.txt'
with open(nouns_output_file, 'r', encoding='utf-8') as nouns_file:
noun_counts = Counter(nouns_file.read().splitlines())
top_nouns = noun_counts.most_common(10)
words, counts = zip(*top_nouns)
파이차트로 시각화하겠습니다.
plt.figure(figsize=(10, 8))
plt.pie(counts, labels=words, autopct='%1.1f%%', startangle=140)
plt.axis('equal')
plt.title('Top 10 Nouns Frequency')
plt.show()
가로 10인치, 세로 8인치 크기의 그래프를 생성합니다. 소수점 첫째 자리까지 표시하고, 파이차트의 시작 각도는 140도로 설정하겠습니다. 파이차트가 원형으로 유지되도록 설정합니다. 이 옵션을 사용하지 않으면 차트가 타원형으로 그려질 수 있습니다. 차트의 제목을 Top 10 Nouns Frequency로 설정합니다. 파이차트를 화면에 출력합니다.