์๋ํด๋ผ์ฐ๋ ํ๊ฒฝ ์ค์
์๋ํด๋ผ์ฐ๋ ํจํค์ง๋ฅผ ์ค์นํ๋ค.
File > Settings > Python Interpreter > wordcloud
import matplotlib.font_manager as fm
# ์ด์ฉ ๊ฐ๋ฅํ ํฐํธ ์ค '๊ณ ๋'๋ง ์ ๋ณ -> ๊ธ์จ๊ฐ ๊ตต์ด์ผ ์๋ป์
for font in fm.fontManager.ttflist:
if 'Gothic' in font.name:
print(font.name, font.fname)
์ด ์ฝ๋๋ฅผ ์คํ์ํค๋ฉด ๊ทธ๋ฌ๋ฉด ํฐํธ์ ๊ฒฝ๋ก๋ค์ด ์ญ ์ถ๋ ฅ๋ ํ ๋ฐ,
๊ทธ์ค ๋ง์์ ๋๋ ํฐํธ ๊ฒฝ๋ก ํ๋ ๋ณต์ฌํด๋๊ธฐ.
(BUT ์๋ํด๋ผ์ฐ๋๊ฐ ์ ๋๋ก ๋ง๋ค์ด์ง์ง ์๋ ํฐํธ๋ค์ด ๋ง๊ธฐ ๋๋ฌธ์
MalgunGothic(์๋์ฐ), AppleGothic(๋งฅ)์ ์ฃผ๋ก ์ฌ์ฉํ์!)
from wordcloud import WordCloud
text = ''
with open("KakaoTalk.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines:
text += line
print(text)
wc = WordCloud(font_path="C:/windows/Fonts/malgunbd.ttf", background_color="white", width=600, height=400)
wc.generate(text)
wc.to_file("result.png")
์นด์นด์คํก ๋ด๋ณด๋ด๊ธฐ๋ฅผ ํตํด ๋ง๋ค์ด์ง txt ํ์ผ์ ๋ฃ์ด์ฃผ๋ฉด ์๋ ํด๋ผ์ฐ๋๊ฐ ์์ฑ๋๋ค.
(์ฐจ๋ง ๋ด์ฉ์ ๊ณต๊ฐํ ์ ์์์ต๋๋ค๐ฆ)
์ฌํํผ ์๋ํด๋ผ์ฐ๋๋ฅผ ํ์ธํด๋ณด๋ฉด, ์๋๋ฐฉ ์ด๋ฆ์ด๋ ์คํ ์๊ฐ ๋ฑ ์ธ๋ฐ์๋ ์ ๋ณด๊ฐ ๋ง์ด ํฌํจ๋์ด ์๋ ๊ฒ์ ์ ์ ์๋ค.
๋ฐ์ดํฐ ํด๋ ์ง
๋ฐ์ดํฐ ํด๋ ์ง์ ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ณผ์ ์ด๋ค.
from wordcloud import WordCloud
text = ''
with open("KakaoTalk.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines[5:]:
if'] [' in line:
text += line.split('] ')[2].replace('ใ
','').replace('ใ
','').replace('์ด๋ชจํฐ์ฝ\n','').replace('์ฌ์ง\n','').replace('์ญ์ ๋ ๋ฉ์์ง์
๋๋ค.', '')
print(text)
wc = WordCloud(font_path="C:/windows/Fonts/malgunbd.ttf", background_color="white", width=600, height=400)
wc.generate(text)
wc.to_file("result.png")
์์คํ ๋ฉ์์ง์ ๋ณด๋ธ ์ฌ๋ ์ด๋ฆ, ๋ณด๋ธ ์๊ฐ ๋ฑ์ ์ญ์ ํ์๊ณ
๊ทธ ์ธ ์ด๋ชจํฐ์ฝ์ด๋ ใ ใ ใ , ใ ใ ใ ใ ใ ๊ฐ์ ๊ฒ๋ค๋ replace๋ก ์ง์ ๋ค.
์๋ํด๋ผ์ฐ๋ ๋ชจ์ ๋ง๋ค๊ธฐ
์ด๋ฐ ์ด๋ฏธ์ง์ฒ๋ผ, ๋ฐฐ๊ฒฝ๊ณผ ๊ตฌ๋ถ์ด ํ์คํ ์ด๋ฏธ์ง๊ฐ ๋ชจ์์ด ์ ๋ง๋ค์ด์ง๋ค.
from wordcloud import WordCloud
from PIL import Image
import numpy as np
text = ''
with open("KakaoTalk.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines[5:]:
if'] [' in line:
text += line.split('] ')[2].replace('ใ
','').replace('ใ
','').replace('์ด๋ชจํฐ์ฝ\n','')\
.replace('์ฌ์ง\n','').replace('์ญ์ ๋ ๋ฉ์์ง์
๋๋ค.', '')
print(text)
mask = np.array(Image.open('cloud.png'))
wc = WordCloud(font_path="C:/windows/Fonts/malgunbd.ttf", background_color="white", mask=mask)
wc.generate(text)
wc.to_file("result_masked.png")
๊ทธ๋ผ ์ด๋ ๊ฒ ๊ตฌ๋ฆ๋ชจ์์ ์๋ ํด๋ผ์ฐ๋๊ฐ ๋์จ๋ค!
(๋ค์ ํ๋ฒ ๋งํ์ง๋ง, ์ฐจ๋ง ๋ด์ฉ์ ๊ณต๊ฐํ ์ ์์์ต๋๋ค..)
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ธฐ์ฌ ์น์คํฌ๋ํ(ํฌ๋กค๋ง)ํด์ ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ (1) | 2020.10.13 |
---|---|
์ด๋ฏธ์ง ์น ์คํฌ๋ํ(์น ํฌ๋กค๋ง)ํ๊ธฐ (0) | 2020.10.02 |