Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

王林
リリース: 2023-04-13 12:28:02
転載
1502 人が閲覧しました

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

データ視覚化チャートでは、ワード クラウド チャートの適用がいたるところで見られます。通常、入力テキストから単語の出現頻度を抽出し、単語の出現頻度に応じて高頻度の単語を集中的に表示します。シンプルで直感的かつ効率的です。今日は絶妙なワード クラウドの描画方法を共有します。 Pythonでグラフを作成します。

ちょっとしたテスト

まず、Python の wordcloud モジュールを使用して簡単なワード クラウド図を描いてみましょう。

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
ログイン後にコピー

Weテキストコンテンツをインポートし、改行とスペースを削除します。コードは次のとおりです:

text = open(r"明朝那些事儿.txt",encoding='utf8').read()
text = text.replace('n',"").replace("u3000","")
ログイン後にコピー

単語に分割する必要があります。このとき、jieba モジュールを使用する必要があります。コードは次のとおりです:

text_cut = jieba.lcut(text)
# 将分好的词用某个符号分割开连成字符串
text_cut = ' '.join(text_cut)
ログイン後にコピー

もちろん、結果には見る必要のない無関係なコンテンツがたくさんあるかもしれません。現時点では、ストップワードを使用する必要があります。それは自分で構築することも、私たちが構築することもできます。他のものを直接使用します。ストップ ワード リストが作成されています。ここのエディタでは後者を使用します。コードは次のとおりです:

stop_words = open(r"常见中文停用词表.txt").read().split("n")
ログイン後にコピー

以下は、ワード クラウド チャートを描画するためのコア コードです。

word_cloud = WordCloud(font_path="simsun.ttc",# 设置词云字体
background_color="white", # 词云图的背景颜色
stopwords=stop_words) # 去掉的停词
word_cloud.generate(text_cut)
word_cloud.to_file("1.png")
ログイン後にコピー

output

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

このような非常にシンプルなワードクラウド図が完成しました。もちろん、これに背景画像を追加することもできます。下の図では、

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

追加する必要がある主なコードは次のとおりです:

background = Image.open(r"5.png")
graph = np.array(background)
ログイン後にコピー

次に、WorCloud にマスク パラメーターを追加します

# 使用WordCloud生成词云
word_cloud = WordCloud(font_path="simsun.ttc",# 设置词云字体
background_color="white", # 词云图的背景颜色
stopwords=stop_words, # 去掉的停词
mask=graph)
word_cloud.generate(text_cut)
word_cloud.to_file("1.png")
ログイン後にコピー

output

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

詳細な最適化

さらに、別のモジュールによって描画されたワード クラウド マップもありますstylecloud. 非常にクールで、主に以下の機能を使用します。

gen_stylecloud(text=None,
icon_name='fas fa-flag',
colors=None,
palette='cartocolors.qualitative.Bold_5',
background_color="white",
max_font_size=200,
max_words=2000,
stopwords=True,
custom_stopwords=STOPWORDS,
output_name='stylecloud.png',
)
ログイン後にコピー

一般的に使用されるパラメータの一部は次のとおりです。

  • icon_name: ワード クラウド グラフの形状
  • max_font_size: 最大フォント サイズ
  • max_words: 収容できる単語の最大数
  • stopwords: 一般的なストップ ワードをフィルターするために使用されます
  • Custom_stopwords: セルフがある場合-構築されたストップワードリスト、使用できます
  • パレット: パレット

ワードクラウドチャートを描画してみましょう。コードは次のとおりです:

stylecloud.gen_stylecloud(text=text_cut,
 palette='tableau.BlueRed_6',
 icon_name='fas fa-apple-alt',
 font_path=r'田英章楷书3500字.ttf',
 output_name='2.png',
 stopwords=True,
 custom_stopwords=stop_words)
ログイン後にコピー

output

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

palette パラメータはパレットとして使用され、任意に変更できます。詳細は https:// を参照してください。 jiffyclub.github.io/palettetable/ このウェブサイト。

pyecharts

最後に、Pyecharts モジュールを使用してワード クラウド図を描画する方法を見てみましょう。コードは次のとおりです。

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
words = [
 ("皇帝", 10000),
 ("朱元璋", 6181),
 ("明朝", 4386),
 ("朝廷", 4055),
 ("明军", 2467),
 ("士兵", 2244),
 ("张居正", 1868),
 ("王守仁", 1281)
]
c = (
 WordCloud()
 .add("", words, word_size_range=[20, 100])
 .set_global_opts(title_opts=opts.TitleOpts(title="基本示例"))
 )
c.render("1.html")
ログイン後にコピー

出力

Python を使用していくつかのワード クラウド図を描画し、誰もが驚きました

結果は少し単純ですが、pyecharts の WordCloud() メソッドによって渡されるデータは、指定された単語とその頻度であることに注意してください。これは前の操作とは異なります

以上がPython を使用していくつかのワード クラウド図を描画し、誰もが驚きましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!