본문 바로가기

데이터분석

[Word Cloud] Mask를 이용한 Word Cloud + Python

Word CLoud + 우리나라 지도 Mask


1. 필요 라이브러리 import 및 mask 이미지 불러오기

from urllib import request
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from PIL import Image


# 마스크 이미지를 url에서 불러오기
url = "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ9aACep8NBAyAioqO412qTTgDh5p2Ovz-VyA&usqp=CAU"
res = request.urlopen(url).read()
img = Image.open(BytesIO(res))

img = img.resize((600,1000))
mask_ = np.array(img)

2. 오류 해결하기 (Mask 적용이 안될 때)

아마 그대로 마스크를 사용하면 마스크가 적용되지 않는 분들이 꽤 있을 것 같습니다.

저도 이 문제로 많이 헤매고 방법도 찾아봤는데요,

결론은 0으로 되어 있는 부분을 255로 바꿔주셔야 합니다.

for i in range(len(mask_)):
    for j in range(len(mask_[i])):
        if mask_[i][j]==0:
            mask_[i][j] = 255

3. 문장으로 Word Cloud 생성하기

(1) WordCloud 객체를 생성해서 generate.(string) 을 이용해서 해당 문장을 넣게 됩니다.

(2) wordcloud.generate("Hello Hello I'm fine")

String을 넣게 되면 띄어쓰기로 단어를 나눠주고

단어의 개수를 세서 WordCloud를 만들어줍닙다.

wordcloud = WordCloud(background_color="white", max_words=2000, mask=mask_,
               stopwords=stop_words, contour_width=5, contour_color="blue", colormap="jet")

wordcloud.generate("".join(corpus))

plt.figure(figsize=(15,15))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

CLoud

 

'데이터분석' 카테고리의 다른 글

Spark 기본 설명  (0) 2020.07.30
[Warehouse] Pandas Skills  (0) 2020.07.18
[차트] 원형 차트 시각화 🤖  (0) 2020.07.14
DB Oracle SQL 구문  (0) 2020.07.13
t-distribution  (0) 2020.06.14