상세 컨텐츠

본문 제목

Single Word

AI/빅데이터

by cepiloth 2023. 2. 7. 09:13

본문

728x90
반응형

단일 글자로 워드 클라우드를 만들어 보자. https://github.com/amueller/word_cloud clone을 하거나 아래처럼 pip를 이용하여 package를 설치한다.

#colab 에서 사용예시
!pip install wordcloud

 

다음은 mask(동그라미)에 단일 글자를 generate 하는 코드이다.

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

text = "square"

x, y = np.ogrid[:300, :300]

mask = (x - 150) ** 2 + (y - 150) ** 2 > 130 ** 2
mask = 255 * mask.astype(int)


wc = WordCloud(background_color="white", repeat=True, mask=mask)
wc.generate(text)

plt.axis("off")
plt.imshow(wc, interpolation="bilinear")
plt.show()

이 코드는 "square"라는 텍스트를 워드 클라우드로 시각화하는 것입니다. 워드 클라우드는 "wordcloud" 라이브러리의 "WordCloud" 클래스를 사용하여 만들어지고, 배경색을 흰색으로 하고 텍스트를 반복하는 옵션을 설정하여 사용자 정의한다.

코드는 numpy의 "ogrid" 메서드를 사용하여 정사각형 마스크와 중앙의 원형 마스크를 만든다. 구멍은 130 픽셀의 반지름을 가지고 있으며, 마스크는 0 또는 255 값을 가지는 2D 배열로 표현된다. 이 마스크는 WordCloud 객체에 인수로 전달되어 생성된 워드 클라우드를 정사각형 모양과 원형 마스크로 제한한다.

마지막으로, 코드는 matplotlib의 "imshow" 함수를 사용하여 생성된 워드 클라우드를 표시하고, 축 레이블을 끄고 보간을 "bilinear"로 설정합니다. 최종 결과는 matplotlib의 "show" 함수를 사용하여 표시한다.

정리하자면, 이 코드는 "square"라는 텍스트를 원형 마스크 있는 정사각형 모양의 워드 클라우드로 시각화한다. Numpy와 matplotlib, wordcloud 라이브러리를 사용하여 코드를 구성하였다.

728x90
반응형

관련글 더보기

댓글 영역