파이썬의 시각화 라이브러리
파이써의 데이터시각화 라이브러리
다양한 그래프를 고수준(high-level)으로 쉽게 그릴수있다
seaborn을 사용하기위해선 install을 해야됩니다
pip install seaborn
seaborn은 다양한 그래프를 그릴수 있습니다 대표적인 그래프를 두개 살펴봅시다
꺾은선 그래프(Line Plot)
import seaborn as sns
sns.line(x=[1,3,2,4], y=[4,3,2,1])
x와 y가 점의 좌표를 나타냅니다
막대 그래프(Bar plot)
sns.barplot(x=[1,2,3,4], y=[0.7,0.2,0.1,0.05])
x는 범주, y는 값을 나타냅니다.
그래프를 생성했으니 각각의 그래프의 이름 또는 x와 y가 뜻하는 의미 같이 그래프의 이해를 돕는 방법들을 살펴봅시다
seaborn은 matplotlib.pyplot의 속성을 변경해서 다양한 요소를 변경 추가가 가능합니다
import matplotlib.pyplot import plt
사용을 위해 import시켜줍니다
그래프 제목 : .title()
sns.barplot(x=[1,2,3,4],y=[0.7,0.2,0.1,0.05])
plt.title("Bar plot")
그래프 축의 설명 : plt._lable
sns.barplot(x=[1,2,3,4],y=[0.7,0.2,0.1,0.05])
plt.xlabel("x")
plt.ylabel("y")
그래프의 범위 : plt._lim()
sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1])
plt.xlim(0,10)
plt.ylim(2,3)
그래프의 크기 : plt.figure(figsize=(x,y))
plt.figure(figsize=(20,10))
sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1])
다른속성과 다르게 figure는 그래프를 생성하기 전에 수정해줘야합니다
wordCloud를 만들어 보기 위해선 위 두 가지가 필요합니다
install해줍시다
pip install wordcloud
pip install konlpy
WordCloud를 만드는 방법은 다음과 같습니다.
# 시각화에 쓰이는 라이브러리
import matplotlib.pyplot as plt
from wordcloud import WordCloud
# 횟수를 기반으로 딕셔너리 생성
from collections import Counter
# 문장에서 명사를 추출하는 형태소 분석 라이브러리
from konlpy.tag import Hannanum
테스트 케이스로 애국가 가사를 사용하겠습니다
national_anthem = """
동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세
남산 위에 저 소나무 철갑을 두른 듯
바람 서리 불변함은 우리 기상일세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세
가을 하늘 공활한데 높고 구름 없이
밝은 달은 우리 가슴 일편단심일세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세
이 기상과 이 맘으로 충성을 다하여
괴로우나 즐거우나 나라 사랑하세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세
"""
테스트 문자열에서 Hannanum의 .nouns()를 사용하여 명사를 추출합니다
hannanum = Hannanum()
nouns = hannanum.nouns(national_anthem)
words = [noun for noun in nouns if len(noun) > 1]
카운터를 사용해서 갯수를 새줍니다
counter = Counter(words)
이제 워드클라우드를 이용해서 완성합니다
wordcloud = WordCloud(
font_path="폰트 path",
background_color="white"
)
img = wordcloud.generate_from_frequencies(counter)
plt.imshow(img)
wordcloud.generate_from_frequencies(dict)를 사용하면 dict의 key가 value의 값에 따라서 워드 클라우드로 생성이 됩니다
주의 할 점으론 워드 클라우드에서 한국어 폰트가 지원 되지 않아서 font_path를 설정해주지 않으면 모든 한글이 깨져서 나옵니다
font_path에 폰트의 path를 적어 지정해주면 해결 할 수 있습니다