WordCloudというテキストの傾向を可視化できるツールがあります。
入力されるテキストの中から、単語の出現頻度等を調べ、頻度に応じて文字の大きさや色などを変更して、一枚の画像にして表示することができます。
以前、自分で用意したテキストファイルからWordCloudを使ってテキストを分析してみる方法について紹介を行いました。
しかし、より洗練されたデザインを目指す上では、さらに工夫が必要です。今回は、マスクを使うことでWordCloudの出力結果を任意の形状にしてみましょう。
例えば、以下のような出力結果を得ることができます。
WordCloudでマスクを使って任意の形状のWordCloudを生成するプログラム(Python)
テストデータとして、前回同様、今回はコンピュータビジョンのトップカンファレンスであるCVPR2021のAccepted paperのリストを入力してみました。以下にテキストデータにしたものを用意したので、テストしたい方は試してみてください。
さらに、今回は形状を決める「マスク」を事前に用意する必要があります。マスクは「白:表示されない」「黒:表示される」を表します。
簡単なものであればペイントツールなどでも自作できますね。今回は以下の画像を使いたいと思います。
早速、ソースコードを以下に掲載します。
実行すると2種類のWordCloudの画像が出力されます。
1枚目は上記のソースコードの10行目で「mask=mask_array」を指定したものになります。mask_arrayにハート型の画像が入っているので、ハートの黒の部分にのみ文字が表示されます。
2枚目は以下の通り枠線が入ります。ソースコードの13行目が対応箇所で「mask=mask_array, contour_width=5, contour_color=”steelblue”」のようにcontour_widthで枠線の太さを、contour_colorで枠線の色を指定することができます。
まとめ
本日はWordCloudのマスクを用いて、出力結果を任意形状にする方法を紹介しました。これにより、出力結果を洗練することができます。