Welcome

カキノタblog

自分の興味あるテーマを中心に、図解多めに記事を作成していきたいと思います。

Python color設定

PythonのWordCloudライブラリで色を変更する方法について紹介します。

参考コード

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csv

font_path=r'C:\Windows\Fonts\MEIRYO.TTC'

reader = csv.reader(open('wc_data.csv', 'r', encoding='utf-8',newline='\n'))
data = {}
for k,v in reader:
	data[k] = int(v)

wc = WordCloud(font_path=font_path,width=500,height=400,background_color='white',colormap='plasma').generate_from_frequencies(data)

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

背景色を設定する

background_color='white'

WordCloud()にbackground_colorを指定します。

文字色を変更する

PythonのWordCloudライブラリでmatplotlibにあるカラーマップが使用できます。

colormap='plasma'

WordCloud()にcolormapを指定します。

画像:ワードクラウド_color 

以下のページで全色の見本を掲載してくださっているので参考にしてみましょう。

【日本語文章の表示サンプルあり】Pythonのワードクラウドで使えるカラーマップ一覧✰ matplotlib/WordCloud✰ - なろう分析記録

カスタムカラーを使う

def random_color_func(word=None, font_size=None, position=None,  orientation=None, font_path=None, random_state=None):
    h = int(360.0 * 21.0 / 255.0)
    s = int(100.0 * 255.0 / 255.0)
    l = int(100.0 * float(random_state.randint(60, 120)) / 255.0)

    return "hsl({}, {}%, {}%)".format(h, s, l)

ユーザー独自の関数を自作して使用することもできます。

color_func=random_color_func

参考:https://stackoverflow.com/questions/43043263/word-cloud-in-python-with-customised-random-colour-generation