티스토리 뷰
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
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[geopandas] gpd.sjoin를 사용하여 polygon 안에 point, polygon 포함되는지 확인하기 (0) | 2022.06.30 |
---|---|
[오류해결] key 'keyname' must not contain '.' 오류 (0) | 2022.06.17 |
[python] CSV파일 리스트/딕셔너리가 문자열로 되어있어요 해결방법! (0) | 2022.05.26 |
[pymongo] pandas csv파일을 mongoDB에 한꺼번에 insert하는 방법 (0) | 2022.05.25 |
[django] 장고 accounts/login 로그인/로그아웃 로그 저장하기 (0) | 2022.04.21 |
댓글