티스토리 뷰

728x90
반응형

 

 

일단 워드클라우드를 만들기 위해 필요한 라이브러리들을 임포트해줍니다

numpy와 PIL 라이브러리는 원하는 모양의 워드클라우드를 만들기 위하여 필요합니다.

 

from wordcloud import WordCloud 
import matplotlib.pyplot as plt
import numpy as np
from PIL import *

 

 

원하는 모양의 이미지를 불러와줍니다!

저는 동그랗게 만들어주기 위해 동그랗게 생긴 이미지를 가져왔어요

 

circle.jpg

 

#워드클라우드의 모양 설정. 원모양의 이미지를 그대로 가져와 만들도록 하였음.
cand_mask=np.array(Image.open('circle.jpg'))

 

 

이제 워드클라우드에 넣을 데이터만 있으면 됩니다.

저는 아무렇게나 임의의 데이터를 만들었어요!

value를 기준으로 내림차순하면 된답니다

value가 높을수록 가장 가운데에, 가장 큰 글씨로 나오게 돼요.

 

## 워드클라우드에 출력할 딕셔너리를 만듦.
words = {
    '돔돔이블로그':1965,
    'domdom':1666,
    '티스토리':955,
    '돔돔':855,
    '워드':841,
    '클라우드':612,
    '파이썬':598,
    'tistory':576,
    '코딩':542,
    '장인':487,
    '블로그':412,
    '방문자':401,
    '댓글':397,
    '롤':391,
    '칼바람':308,
    '나락':284,
    '환영':255,
    '자바':231,
    '장고':175,
    '자바스크립트':152,
    '스프링':109,
    '부트':71,
    '스타벅스':68,
    '제주말차':59,
    '프라푸치노':21,
    '먹고싶다':19,
    '디저트':6,
    '꿀잼':2
}

 

 

 

이제 워드클라우드를 생성합니다.

글씨체, 배경색, 글씨색, 워드클라우드모양을 설정하고, 만들어놓은 words를 데이터로 넣어줍니다!

 

 

wordcloud = WordCloud(
    font_path = 'malgun.ttf', # 한글 글씨체 설정
    background_color='white', # 배경색은 흰색으로 
    colormap='Reds', # 글씨색은 빨간색으로
    mask=cand_mask, # 워드클라우드 모양 설정
).generate_from_frequencies(words)

 

 

워드클라우드를 출력하면 끝!

맨밑에 주석처리 해놓은 plt.savefig를 사용하면 워드클라우드 이미지를 저장할 수 있어요

#사이즈 설정 및 출력
plt.figure(figsize=(5,5))
plt.imshow(wordcloud,interpolation='bilinear')
plt.axis('off') # 차트로 나오지 않게
#plt.savefig('test.png')

 

 

짜잔

 

 

색상은 Reds 말고도 원하는 색으로 설정하여 주면 됩니다

Greens으로 하면 아래와 같이 초록색으로 워드클라우드 생성!

 

 

참쉽죠?

728x90
반응형
댓글