データ視覚化チャートでは、ワード クラウド チャートの適用がいたるところで見られます。通常、入力テキストから単語の出現頻度を抽出し、単語の出現頻度に応じて高頻度の単語を集中的に表示します。シンプルで直感的かつ効率的です。今日は絶妙なワード クラウドの描画方法を共有します。 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
このような非常にシンプルなワードクラウド図が完成しました。もちろん、これに背景画像を追加することもできます。下の図では、
追加する必要がある主なコードは次のとおりです:
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
さらに、別のモジュールによって描画されたワード クラウド マップもあります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', )
一般的に使用されるパラメータの一部は次のとおりです。
ワードクラウドチャートを描画してみましょう。コードは次のとおりです:
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
palette パラメータはパレットとして使用され、任意に変更できます。詳細は https:// を参照してください。 jiffyclub.github.io/palettetable/ このウェブサイト。
最後に、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")
出力
結果は少し単純ですが、pyecharts の WordCloud() メソッドによって渡されるデータは、指定された単語とその頻度であることに注意してください。これは前の操作とは異なります
以上がPython を使用していくつかのワード クラウド図を描画し、誰もが驚きましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。