(1).概要
wordcloudは優れたワードクラウド表示用のサードパーティライブラリです。wordcloudはテキストを視覚的に魅力的なワードクラウドに変換できます。
ワードクラウドとは、単語をグラフィカルに可視化し、直感的かつ芸術的に表示する手法です。私たちの日常生活で頻繁に見かけるものです。中国語や英語のワードクラウドも同様です。
サードパーティライブラリのインストールにはpipツールを使用します。コマンドラインでインストールコマンドを実行してください(IDLEではありません)。注意:Pythonディレクトリとその配下のScriptsディレクトリを環境変数に追加する必要があります。
pip install wordcloudコマンドを実行してサードパーティライブラリをインストールします。インストールが成功すると「successfully installed」と表示されます。
(2).使用方法
wordcloudライブラリはワードクラウドをWordCloudオブジェクトとして扱います。wordcloud.WordCloud()はテキストに対応するワードクラウドを表すオブジェクトです。wordcloudライブラリはテキスト中の単語の出現頻度などのパラメータに基づいてワードクラウドを描画できます。描画時には、形状、サイズ、色、フォントなどを設定できます。
wordcloudライブラリはワードクラウドの描画に基本的な流れを持っています。まずwordcloudライブラリのWordCloudオブジェクトを使用してワードクラウドを定義します。WordCloudオブジェクトはワードクラウドの基礎となります。次にこのオブジェクトにパラメータを設定し、テキストをロードし、ファイルに出力します。これがワードクラウド描画のステップです:1.オブジェクトパラメータの設定;2.テキストのロード;3.ファイルへの出力。後の2つのステップを実行するためには、WordCloudオブジェクトを変数に割り当てる必要があります。例:cloud = wordcloud.WordCloud()。
オブジェクトパラメータの設定(パラメータはカンマで区切ります):
| パラメータ | 説明 |
|---|---|
| width | ワードクラウド画像の幅を指定します。デフォルトは400ピクセルです。例: >>>cloud=wordcloud.WordCloud(width=800) |
| height | ワードクラウド画像の高さを指定します。デフォルトは200ピクセルです。例: >>>cloud=wordcloud.WordCloud(height=600) |
| min_font_size | ワードクラウド中の最小フォントサイズを指定します。デフォルトは4ポイントです。例: >>>cloud=wordcloud.WordCloud(min_font_size=12) |
| max_font_size | ワードクラウド中の最大フォントサイズを指定します。高さに基づいて自動調整されます。例: >>>cloud=wordcloud.WordCloud(max_font_size=36) |
| font_step | ワードクラウド中のフォントサイズのステップ間隔を指定します。デフォルトは1です。 >>>cloud=wordcloud.WordCloud(font_step=3) |
| font_path | フォントファイルのパスを指定します。デフォルトはNoneです >>>cloud=wordcloud.WordCloud(font_path="arial.ttf") |
| max_words | ワードクラウドに表示する最大単語数を指定します。デフォルトは200です。例: >>>cloud=wordcloud.WordCloud(max_words=50) |
| stop_words | ワードクラウドから除外する単語リストを指定します。例: >>>cloud=wordcloud.WordCloud(stop_words={"JavaScript"}) |
| mask | ワードクラウドの形状を指定します(白い形状画像を提供)。デフォルトは長方形です。使用時にはimread()関数をインポートする必要があります。例: >>>from imageio import imread >>>shape=imread("shape.png") >>>cloud=wordcloud.WordCloud(mask=shape) |
| background_color | ワードクラウド画像の背景色を指定します。デフォルトは黒色です。例: >>>cloud=wordcloud.WordCloud(background_color="lightblue") |
ワードクラウドテキストのロード方法(デフォルト前提cloud=wordcloud.WordCloud()):
| メソッド | 説明 |
|---|---|
| cloud.generate(text) | WordCloudオブジェクトcloudにテキストtextをロードします。例: >>>cloud.generate("Python and Data Science") |
ワードクラウドファイルの出力方法(デフォルト前提cloud=wordcloud.WordCloud()):
| メソッド | 説明 |
|---|---|
| cloud.to_file(filename) | ワードクラウドを画像ファイルとして出力します。.pngまたは.jpg形式を使用します。例: >>>cloud.to_file("output.png") |
画像の幅と高さを指定しない場合、デフォルトでは幅400ピクセル、高さ200ピクセルとなります。
テキストをワードクラウドに変換する過程で、wordcloudライブラリは主に4つのステップを実行します:1. wordcloudライブラリはスペースを区切り文字としてテキストを単語に分割します;2. wordcloudライブラリはテキスト中の各単語の出現回数を統計し、出現回数が多い単語ほど大きいフォントで表示され、少ない場合は小さなフォントになります。1〜2文字の単語はフィルタリングされます;3. wordcloudライブラリは単語の出現回数に基づいて、異なる単語に表示フォントサイズを割り当てます;4. レイアウト処理を行います。
英語ワードクラウドの例:
import wordcloud
text_content="learning python is fun and powerful"
cloud_generator = wordcloud.WordCloud(
background_color="lightgray")
cloud_generator.generate(text_content)
cloud_generator.to_file("english_cloud.png")
生成された画像
中国語ワードクラウドの例:
import jieba
import wordcloud
chinese_text="プログラミング言語はコンピュータがユーザーの操作意図を理解し認識するための対話システムであり、特定の規則に従ってコンピュータ命令を組織し、コンピュータが自動的に様々な計算処理を行えるようにします"
cloud_creator = wordcloud.WordCloud( width=1200,
font_path="simhei.ttf",height=800) #フォントを設定しないと中国語が□□□として表示されます。フォントファイルは.pyファイルと同じディレクトリにあります
cloud_creator.generate(" ".join(jieba.lcut(chinese_text)))
cloud_creator.to_file("chinese_cloud.png")
生成された画像