ライブラリwordcloudを日本語で使うための色々実験メモ

ワードクラウドの基本的な使い方を理解したいと思います。

べたのテキストから作成する方法

import matplotlib.pyplot as plt
from wordcloud import WordCloud

text ="hello hello hello hello goodby chao"

wc = WordCloud(background_color="white")
wc.generate(text)

plt.axis("off")
plt.imshow(w

collectionsのcounterから作成する方法

import matplotlib.pyplot as plt
from wordcloud import WordCloud
from collections import Counter
counter = Counter()
text_list = ["hello","hello","hello","hello","goodbye","chao"]
counter.update(text_list)
print(counter)
Counter({'hello': 4, 'goodbye': 1, 'chao': 1})
wc = WordCloud(background_color="white")
wc.generate_from_frequencies(counter)
plt.axis("off")
plt.imshow(wc)
plt.show()

日本語が含まれる場合

さっきと同じ方法でやると文字化けする

counter = Counter()
text_list = ["おはよう","おはよう","おはよう","こんにちは","さようなら"]
counter.update(text_list)
wc = WordCloud(background_color="white")
wc.generate_from_frequencies(counter)
plt.axis("off")
plt.imshow(wc)
plt.show()

fontをMeiryoに設定すると治る

counter = Counter()
text_list = ["おはよう","おはよう","おはよう","こんにちは","さようなら"]
counter.update(text_list)
wc = WordCloud(background_color="white",
               font_path="C:/windows/fonts/meiryo.ttc")
wc.generate_from_frequencies(counter)
plt.axis("off")
plt.imshow(wc)
plt.show()

色にこだわる + 高画質に画像を保存する方法

counter = Counter()
text_list = ["おはよう","おはよう","おはよう","こんにちは","さようなら"]
counter.update(text_list)

wc = WordCloud(background_color="white",
               font_path="C:/windows/fonts/meiryo.ttc",
               width=2400,
               height=1600,
               colormap="Set2" #色は他に Set1 Paster1 tab10 等
               )
wc.generate_from_frequencies(counter)
wc.to_file("wordcloud.png")

plt.axis("off")
plt.imshow(wc)
plt.show()

使える色一覧

https://matplotlib.org/stable/tutorials/colors/colormaps.html

matplotlibのカラーマップ一覧をWordCloudで

category