반응형
[Python & Matplotlib] 명사 추출 후 그래프로 시각화하는 방법 !!
한국어 형태소 분석을 위해 KoNLPy 라이브러리를 사용하고, 시각화를 위해 matplotlib를 사용한 예제입니다 ㅎ
1. 필요한 라이브러리 설치
pip install konlpy matplotlib
2. 예제 코드
아래 코드 실행시키면 위에 결과화면 처럼 나오게 됩니다 :)
from konlpy.tag import Okt
from collections import Counter
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
# 한글 폰트 설정 (예: 맑은 고딕)
font_path = "C:/Windows/Fonts/malgun.ttf" # 폰트 경로는 시스템에 맞게 변경해주세요.
font_name = font_manager.FontProperties(fname=font_path).get_name()
rc('font', family=font_name)
# 분석할 텍스트
text = """
코드 설명
폰트 설정: matplotlib에서 한글이 깨지지 않도록 시스템에 설치된 한글 폰트를 설정합니다.
텍스트 입력: 분석하고 싶은 한국어 텍스트를 text 변수에 입력합니다.
명사 추출: Okt 형태소 분석기를 사용하여 텍스트에서 명사만 추출합니다.
빈도 계산: Counter를 사용하여 명사의 빈도수를 계산합니다.
데이터 준비: 가장 빈도 높은 10개의 명사와 그 빈도수를 리스트로 분리합니다.
그래프 시각화: 막대 그래프로 명사의 빈도수를 시각화합니다.
실행 결과
코드를 실행하면 입력한 텍스트에서 가장 많이 등장한 명사 10개의 빈도수를 막대 그래프로 볼 수 있습니다.
"""
# 형태소 분석기 초기화
okt = Okt()
# 텍스트에서 명사 추출
nouns = okt.nouns(text)
# 명사 빈도 계산
count = Counter(nouns)
# 가장 빈도 높은 10개의 명사 추출
most_common = count.most_common(10)
# 데이터 분리
words = [word for word, _ in most_common]
freqs = [freq for _, freq in most_common]
# 그래프 그리기
plt.figure(figsize=(10, 6))
plt.bar(words, freqs, color='skyblue')
plt.xlabel('명사')
plt.ylabel('빈도수')
plt.title('명사 빈도 시각화')
plt.xticks(rotation=45)
plt.show()
728x90
반응형
'Coding > 데이터 시각화' 카테고리의 다른 글
[Python & Matplotlib] 타이타닉 생존자 데이터를 활용한 데이터 시각화 그리기 !! (0) | 2024.03.04 |
---|---|
[Python & Matplotlib] seaborn 'tips' 데이터셋을 활용하여 산점도 그래프 그리기 !! (0) | 2024.03.03 |
[Python & Matplotlib] 아이리스(iris) 붓꽃 데이터셋을 활용하여 산점도 그래프 그리기 !! (0) | 2024.02.29 |
[Python & Matplotlib] Matplotlib라이브러리를 활용한 산점도 그래프 그리기 !! (0) | 2024.02.28 |
댓글